งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

DATA STRUCTURE AND ALGORITHM 3901-2002 Linked List.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "DATA STRUCTURE AND ALGORITHM 3901-2002 Linked List."— ใบสำเนางานนำเสนอ:

1 DATA STRUCTURE AND ALGORITHM 3901-2002 WOOTICHAI_K@HOTMAIL.COM Linked List

2 แนวคิดพื้นฐานเกี่ยวกับลิสต์แบบเชิงเส้น ลิสต์แบบทั่วไป (General List) ลิสต์แบบมีข้อจำกัด (Restricted List) แนวคิดพื้นฐานของลิงก์ลิสต์ (Linked List Concept) โครงสร้างข้อมูลแบบลิงก์ลิสต์ การดำเนินงานพื้นฐานของลิสต์ (Basic Operation) หัวข้อ

3 ข้อมูลภายในลิสต์มีลักษณะเป็นลำดับต่อเนื่อง สมาชิกแต่ละตัวจะเชื่อมโยงกับสมาชิกตัวถัดไป ต่อเนื่องกัน แนวคิดพื้นฐานเกี่ยวกับ ลิสต์แบบเชิงเส้น Element 1 Element 2 Element 3 Element 4

4 สามารถแทรก หรือลบรายการลิสต์ ณ ตำแหน่ง ใดๆ ก็ได้ สามารถแบ่งออกเป็น ลิสต์แบบสุ่ม (Random List) ข้อมูลภายในลิสต์จะไม่เรียงลำดับ ลิสต์แบบเรียงลำดับ (Order List) ข้อมูลจะถูกจัดเรียงด้วยคีย์ ซึ่งอาจเป็นฟิลด์ใด ฟิลด์หนึ่ง หรือหลายฟิลด์ ลิสต์แบบทั่วไป (General List)

5 การเพิ่มหรือลบข้อมูลออกจากลิสต์จะต้องทำที่ จุดปลายด้านใดด้านหนึ่งของลิสต์เท่านั้น ลิสต์แบบมีข้อจำกัด (Restricted List) Linear List General Random Ordered Restricted FIFO (Queue) LIFO (Stack)

6 ข้อมูลภายในหน่วยความจำจะไม่ได้อยู่ในลำดับ ต่อเนื่องเหมือนกับอาร์เรย์ ข้อมูลแต่ละตัวจะถูกเชื่อมโยงด้วยลิงก์หรือ พอยต์เตอร์ (Pointer) ข้อมูลแต่ละตัวจะถูกเรียกว่า โหนด ซึ่งภายใน โหนดจะประกอบด้วย ข้อมูล (Data) ลิงก์ (Link) ใช้เชื่อมโยงกับโหนดถัดไป จะเก็บตำแหน่ง (Address) ของโหนดถัดไป แนวคิดพื้นฐานของลิงก์ลิสต์ (Linked List Concept) DATA LI NK DATA LI NK DATA LI NK HE AD

7 โครงสร้างข้อมูลแบบลิงก์ลิสต์ Count Head Data Link Head Structure Node Structure

8 การแทรก (Insertion) การลบ (Deletion) การอ่าน (Retrieval) การท่องเข้าไปในลิสต์ (Traversal) การดำเนินงานพื้นฐานของลิสต์ (Basic Operation)

9 การสร้างลิสต์ (Create Lits) Allocate (List) Set List Head to null Set List Count to 0 อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm) 0 0 null List CountHead

10 การแทรกโหนด (Insert Node) การแทรกโหนดในลิสก์ว่าง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Lin k NULL 1. Allocate Newnode สร้างโหนดใหม่ชื่อว่า Newnode Newn ode Count He ad LIst

11 การแทรกโหนด (Insert Node) การแทรกโหนดในลิสก์ว่าง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) 2. Set Newnode Link to List Head ให้ Link ของ Newnode ชี้ที่เดียวกับ Head ของ List Data Lin k NULL Newn ode Count He ad LIst

12 การแทรกโหนด (Insert Node) การแทรกโหนดในลิสก์ว่าง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) 3. Set List Head to Newnode ให้ Head ของ List ชี้ที่เดียวกับ Newnode Data Lin k NULL Newn ode Count He ad LIst

13 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Lin k NULL Count He ad LIst 1. Allocate Newnode สร้างโหนดใหม่ชื่อว่า Newnode Data Lin k Newn ode

14 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Lin k NULL Count He ad LIst 2. Set Newnode Link to List Head ให้ Link ของ Newnode ชี้ที่เดียวกับ Head ของ List Data Lin k Newn ode

15 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Lin k NULL Count He ad LIst 3. Set List Head to Newnode ให้ Head ของ List ชี้ที่เดียวกับ Newnode Data Lin k Newn ode

16 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งกึ่งกลาง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 1. Allocate Newnode สร้างโหนดใหม่ชื่อว่า Newnode Data Li nk Data Li nk Newn ode

17 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งกึ่งกลาง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 2. Set Pre to before insert Node สร้างพอยเตอร์ Pre ชี้ไปยังตำแหน่งก่อนหน้าที่จะแทรก Data Li nk Data Li nk Newn ode Pre

18 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งกึ่งกลาง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 3. Set Newnode Link to Pre Link ให้ Link ของ Newnode ชี้ที่เดียวกับ Link ของ Pre Data Li nk Data Li nk Newn ode Pre

19 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งกึ่งกลาง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 4. Set Pre Link to Newnode ให้ Link ของ Pre ชี้ที่เดียวกับ Newnode Data Li nk Data Li nk Newn ode Pre

20 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งท้ายลิสต์ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 1. Allocate Newnode สร้างโหนดใหม่ชื่อว่า Newnode Data Li nk Data Li nk Newn ode

21 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งท้ายลิสต์ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 2. Set Pre to last Node สร้างพอยเตอร์ Pre ชี้ไปยังตำแหน่งโหนดสุดท้าย Data Li nk Data Li nk Newn ode Pre

22 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งท้ายลิสต์ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 3. Set Newnode Link to Pre Link (NULL) ให้ Link ของ Newnode ชี้ที่เดียวกับ Link ของ Pre (NULL) Data Li nk Data Li nk Newn ode Pre

23 การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งท้ายลิสต์ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 4. Set Pre Link to Newnode ให้ Link ของ Pre ชี้ที่เดียวกับ Newnode Data Li nk Data Li nk Newn ode Pre

24 การลบโหนด (Delete Node) การลบโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 1. Set Loc to delete Node สร้างพอยเตอร์ Loc ชี้ไปยังโหนดที่ต้องการลบ Data Li nk Data Li nk Loc

25 การลบโหนด (Delete Node) การลบโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 2. Set List Head to Loc Link ให้ Head ของ List ชี้ที่เดียวกับ Link ของ Loc Data Li nk Data Li nk Loc

26 การลบโหนด (Delete Node) การลบโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 3. Delete Loc คืนค่าโหนดที่ถูกลบให้แก่ระบบ Data Li nk Data Li nk Loc

27 การลบโหนด (Delete Node) การลบโหนดในตำแหน่งใดๆ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 1. Set Loc to delete Node สร้างพอยเตอร์ Loc ชี้ไปยังโหนดที่ต้องการลบ Data Li nk Data Li nk Loc

28 การลบโหนด (Delete Node) การลบโหนดในตำแหน่งใดๆ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 2. Set Pre to before delete Node สร้างพอยเตอร์ Pre ชี้ไปยังโหนดก่อนหน้าโหนดที่ต้องการลบ Data Li nk Data Li nk Loc Pre

29 การลบโหนด (Delete Node) การลบโหนดในตำแหน่งใดๆ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 3. Set Pre Link to Loc Link ให้ Link ของ Pre ชี้ที่เดียวกับ Link ของ Loc Data Li nk Data Li nk Loc Pre

30 การลบโหนด (Delete Node) การลบโหนดในตำแหน่งใดๆ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 4. Delete Loc คืนค่าโหนดที่ถูกลบให้แก่ระบบ Data Li nk Data Li nk Loc Pre


ดาวน์โหลด ppt DATA STRUCTURE AND ALGORITHM 3901-2002 Linked List.

งานนำเสนอที่คล้ายกัน


Ads by Google