SlideShare a Scribd company logo
1 of 28
Download to read offline
เปนรูปแบบไมเรียงตามลาดับสมาชิก ลักษณะทางกายภาพไมจาเปนตอง
 ป         ไ ี             ํ ัส ิ ั                     ไ  ํ ป 
เหมือนกัน
สมาชิิกแตละตััวจะมีีการชีี้ (point) ไ งสมาชิิกตััวถัดไป
                                      ไปยัั           ัไ
สมาชิกทุกในรายการจะเชื่อมตอ (link) เขาดวยกัน
สรุปคือ
◦ โครงสรางขอมูลแบบลิ้งคลิสต (Linked List) เปนโครงสรางขอมูลที่
  สมาชิกแตละตัว เรียกวาโหนด (Node) จะเรียงลําดับตามการเชื่อมโยง
  จะประกอบดวยชอง 2 ชอง ดังนี้
Node

                   INFO            LINK




INFO ใชเก็บขาวสารหรือคาของขอมูลตางในลิสต (List)
Link ใชเก็บตําแหนงที่อย (Address) ของโหนด (N de) ถัดไป
       ใชเกบตาแหนงทอยู                          (Node) ถดไป
ซึ่งตําแหนงนี้เรียกวาตัวชี้ (pointer)
โครงสรางสแตกและคิิวมีการใชอารเรยในการเก็บคา สมาชิกทุกตัว จึงตอง
โ ส ส                       ี ใ   ใ              ็  ส ิ ั ึ 
เปนชนิดเดียวกัน
โครงสรางลิิ้งคลิสตมีโครงสรางขอมูลตางกันได
โ                                     ั ไ
โครงสรางลิ้งคลิสตปฏิบัติการแทรกขอมูลและลบขอมูล เพียงแตยายการชี้
ของตัวแปรพอยนเตอร ทําใหสมาชิกตัวอื่นไมมีผลกระทบ
คาใชจายโครงสรางลิ้งคลิสตสูงกวา และใชพื้นที่เพิ่มมากขึ้น สําหรับสวนการ
เชื่อมตอไปยังโหนดถัดไป
โครงสรางลิ้งลิสตใชเวลามากในการคนหาโหนดที่ตองการ
ตวอยาง โครงสรางขอมูลอารเรย (Array) ชอ D มขนาด 8
ตัวอยาง โครงสรางขอมลอารเรย              ชื่อ   มีขนาด
ตําแหนง มีขอมูลดังนี้ 5,10,20,25,30,35,40 และตองการเพิ่มขอมูลที่มีคา
15 เขาไปในอารเรยนี้ โดยเรยงลาดบ ใหแสดงแผนภาพในการเพิ่มขอมล
   เขาไปในอารเรยน โดยเรียงลําดับ ใหแสดงแผนภาพในการเพมขอมูล

     5      10      20      25        30       35       40



 0           1        2       3         4       5         6        7
1. ยายขอมูล A(6) ไปอยูตําแหนงที่ 7

    5    10     20       25        30    35        40



0        1         2      3         4     5   6     7


2. ยายขอมูล A(5) ไปอยูตําแหนงที่ 6

    5    10     20       25        30         35    40



0        1         2      3         4     5   6     7
3. ยายขอมูล A(4) ไปอยูตําแหนงที่ 5

    5    10     20       25               30   35    40



0        1        2       3           4    5    6     7


4. ยายขอมูล A(3) ไปอยูตําแหนงที่ 4

    5    10     20               25       30    35   40



0        1        2       3           4    5    6     7
5. ยายขอมูล A(2) ไปอยูตําแหนงที่ 3

    5    10              20       25     30   35        40



0        1        2       3         4    5     6        7


6. แทรก 15 ในตําแหนงที่ 2

    5    10       15       20      25    30   35   40



0        1        2       3         4    5     6        7
โครงสรางแบบลิ้งกลิสต
head

       5         10         20          25          30     35   40




  1. ขอที่วาง 1 ที่ สําหรับการแทรกขอมูล 15
  2. เปลี่ยนลิงก (link) ของขอมูล 15 ใหชี้ที่ขอมูล 20
head

       5        10         20          25          30      35   40



                      15
โครงสรางแบบลิ้งกลิสต
3. เปลี่ยนลิงก (Link) ของขอมูล 10 ใหชี้ที่ขอมูล 15

head

       5        10         20          25         30     35   40



                      15
เปนโครงสรางขอมูลแบบเชื่อมโยงเดี่ยวที่แตละขาวสารมีการ
   แสดงออกถงลาดบกอนหลงอยางชดเจน โดยใชตวช
   แสดงออกถึงลําดับกอนหลังอยางชัดเจน โดยใชตัวชี้

head

       5     10       20         25       30        35         40
ขอควรระวัง ในการใชโครงสรางแบบเชือมโยงเดีี่ยว คือ ตอง
           ั ใ ใ                      ื่ โ         ื 
รักษาตัวชี้ (Pointer) ที่ชี้ไปทีโหนด (Node) แรกไว ไมใหหาย
                                ่
หรือไมทราบวาหายไปอยูที่ใด ซึ่งทาใหเราไมสามารถเขาถึงลิสตน้น
                                   ํ                          ั
ได หรืออาจหายไปทันที
1. Node (P) หมายถึง Node ที่ถูกชี้โดย Pointer P
2.
2 INFO (P) หมายถึง ขาวสารของโหนดทถูกชี้โดย P
             หมายถง ขาวสารของโหนดที่ถกชโดย
3. LINK (P) หมายถึง ตําแหนงที่อยูขอโหนดที่ถูกชี้โดย P
Linked List ประกอบดวยหนวยความจําเปนสวนๆ เรียกวา node
ถ ปน
ถาเปน array จะใชพื้นที่หนวยความจาตดตอกน จ รวมกนเปน
               จ ชพนทหนวยคว มจํ ติดตอกัน จะรวมกัน ปน
โครงสรางขอมูลแบบเชื่อมโยงเดี่ยวขนาดใหญที่รวบรวม
หนวยความจาน วา
หนวยความจํานี้ วา storage pool
การนําขอมูลเขา (insertion)
              
   การนําขอมูลเขานั้นเราจะเปลี่ยนเฉพาะคาตัวชี้ เทานั้น โดยไมตองยาย
ขอมูล
       (1)                        (2)                           (3)
10        20               10         20                 10           20


     15                          15                            15
การนําขอมููลใดๆ ออกจากลิสต (List) ถาโหนดนั้นไมใชโหนดแรก
               ๆ
แรกเราจะตองทราบตัวชี้ที่ชี้ไปยังโหนดที่อยูหนาโหนดที่ถูกลบออก


           10                15                 20
จงสรางโครงสรางขอมููลแบบเชื่อมโยง จากขอมููลที่อานเขามาจาก
ภายนอกขอมูลมีดังนี้ 1,3,5,7,9
           H


                       -อานขอมูลตัวแรกเขามาแลวสรางโหนด
 L         1
                       -ตัวชี้ H (Pointer H) แสดงวาเปนคาแรก
                       -ตัวชี้ L (Pointer L) แสดงวาเปนคาสุดทาย
           P


           (1)
H



 1              3
                           -อานขอมูลตัวที่ 2 เขามา
                           -ตััวชี้ี P (pointer P) แสดงวาเปนตััวชี้ชั่วคราว
                                          i                 ป ี
     L          P
                                              H
          (2)

                                              1                   3
- Link ขอมูลโหนดแรกกับโหนด 2
                                                                 P      L

                                                         (3)
H



     1                3               5       - อานขอมูลตัวที่ 3 เขามา

                     L                P

              (4)
                                          H



- linkขอมูลโหนดที่ 2 กับ โหนดที่ 3       1             3               5



                                                                        P   L
                                                (5)
H



1               3                 5       7




                                      L   P

        (6)


    - อานขอมูลตัวที่ 4 เขามา
H



1              3              5            7



                                           P   L
        (7)


    - Link ขอมูลโหนดที่ 3 กับ โหนดที่ 4
H



1    3             5              7       9




                                      L   P
         (8)


    - อานขอมูลตัวที่ 5 เขามา
H



1    3              5                7    9



                                          L
         (9)


    - Link ขอมูลโหนดที่ 4 กับโหนดที่ 5
ถาเรานําตัวชี้ (pointer) ของโหนดสุดทายในโครงสรางขอมูลแบบ
เชื่อมโยงชี้กลับไปที่โหนดแรกก็จะไดโครงสรางขอมูลแบบ ชอมโยง
 ชอมโยงชกลบไปทโหนดแรกกจ ไดโครงสร งขอมลแบบเชื่อมโยง
แบบวงกลม
ขอดี ส
  สามารถเขาถงทุกๆ โ ใ ิส ไ  โ ไ   ิ่  ี่
                    ึ     โหนดในลสตได โดยไมตองเรมตนท
โหนดแรก คือ สามารถเขาไปในลิสตท่จุดใดก็ได
                                      ี
โครงสรางขอมูลเชื่อมโยงแบบวงกลม
    โ                ื โ




1       3          5           7       9



H                                      L
การเชือมโยงแบบคู (Doubly Linked List) มีี ตัวชี้ี 2 ตััวชีคือ LLINK ซึง
           ื่ โ        (       i         i ) ั                 ี้          ึ่
    จะชี้ไปยังโหนดดานซาย และ RLINK ชี้ไปยังโหนดดานขวา

                          LLINK        INFO        RLINK



F           ^    1                    3                    7   ^            R




                                  ตัวชี้ F (Pointer F) หมายถึง ตัวชี้ดานหนา
                                  ตัวชี้ R (Pointer R) หมายถึง ตัวชี้ดานหลัง
Linklist

More Related Content

Viewers also liked

Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์skiats
 
ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์ ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์ skiats
 
การวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึมการวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึมguestc3a629f6
 
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลLecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลskiats
 
อุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผลอุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผลskiats
 
การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้skiats
 
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีการแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีSaranyu Srisrontong
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลskiats
 
การ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคนการ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคนskiats
 

Viewers also liked (20)

Search
SearchSearch
Search
 
Sorting
SortingSorting
Sorting
 
Computer Programming 1
Computer Programming 1Computer Programming 1
Computer Programming 1
 
6 - functions
6  - functions6  - functions
6 - functions
 
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
 
ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์ ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์
 
การวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึมการวิเคราะห์อัลกอริทึม
การวิเคราะห์อัลกอริทึม
 
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลLecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
 
อุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผลอุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผล
 
การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้
 
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธีการแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูล
 
การ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคนการ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคน
 
22
2222
22
 
Tree
TreeTree
Tree
 
Outline
OutlineOutline
Outline
 
11
1111
11
 
Queue
QueueQueue
Queue
 
Record
RecordRecord
Record
 
Recursion
RecursionRecursion
Recursion
 

More from Meaw Sukee (20)

Pix2
Pix2Pix2
Pix2
 
Pix
PixPix
Pix
 
Report
ReportReport
Report
 
Google classroom
Google classroomGoogle classroom
Google classroom
 
Plan10
Plan10Plan10
Plan10
 
Plan9
Plan9Plan9
Plan9
 
Plan
PlanPlan
Plan
 
Edit
EditEdit
Edit
 
Problem
ProblemProblem
Problem
 
Peeraya
PeerayaPeeraya
Peeraya
 
ตัวอย่างเล่ม
ตัวอย่างเล่มตัวอย่างเล่ม
ตัวอย่างเล่ม
 
Cal 190856
Cal 190856Cal 190856
Cal 190856
 
Total pub
Total pubTotal pub
Total pub
 
Public
PublicPublic
Public
 
Total pub
Total pubTotal pub
Total pub
 
Bro
BroBro
Bro
 
Training_edmodo
Training_edmodoTraining_edmodo
Training_edmodo
 
Frame
FrameFrame
Frame
 
Frame
FrameFrame
Frame
 
Table
TableTable
Table
 

Linklist

  • 1.
  • 2. เปนรูปแบบไมเรียงตามลาดับสมาชิก ลักษณะทางกายภาพไมจาเปนตอง ป ไ ี ํ ัส ิ ั ไ  ํ ป  เหมือนกัน สมาชิิกแตละตััวจะมีีการชีี้ (point) ไ งสมาชิิกตััวถัดไป ไปยัั ัไ สมาชิกทุกในรายการจะเชื่อมตอ (link) เขาดวยกัน สรุปคือ ◦ โครงสรางขอมูลแบบลิ้งคลิสต (Linked List) เปนโครงสรางขอมูลที่ สมาชิกแตละตัว เรียกวาโหนด (Node) จะเรียงลําดับตามการเชื่อมโยง จะประกอบดวยชอง 2 ชอง ดังนี้
  • 3. Node INFO LINK INFO ใชเก็บขาวสารหรือคาของขอมูลตางในลิสต (List) Link ใชเก็บตําแหนงที่อย (Address) ของโหนด (N de) ถัดไป ใชเกบตาแหนงทอยู (Node) ถดไป ซึ่งตําแหนงนี้เรียกวาตัวชี้ (pointer)
  • 4.
  • 5. โครงสรางสแตกและคิิวมีการใชอารเรยในการเก็บคา สมาชิกทุกตัว จึงตอง โ ส ส ี ใ   ใ ็  ส ิ ั ึ  เปนชนิดเดียวกัน โครงสรางลิิ้งคลิสตมีโครงสรางขอมูลตางกันได โ    ั ไ โครงสรางลิ้งคลิสตปฏิบัติการแทรกขอมูลและลบขอมูล เพียงแตยายการชี้ ของตัวแปรพอยนเตอร ทําใหสมาชิกตัวอื่นไมมีผลกระทบ คาใชจายโครงสรางลิ้งคลิสตสูงกวา และใชพื้นที่เพิ่มมากขึ้น สําหรับสวนการ เชื่อมตอไปยังโหนดถัดไป โครงสรางลิ้งลิสตใชเวลามากในการคนหาโหนดที่ตองการ
  • 6. ตวอยาง โครงสรางขอมูลอารเรย (Array) ชอ D มขนาด 8 ตัวอยาง โครงสรางขอมลอารเรย ชื่อ มีขนาด ตําแหนง มีขอมูลดังนี้ 5,10,20,25,30,35,40 และตองการเพิ่มขอมูลที่มีคา 15 เขาไปในอารเรยนี้ โดยเรยงลาดบ ใหแสดงแผนภาพในการเพิ่มขอมล เขาไปในอารเรยน โดยเรียงลําดับ ใหแสดงแผนภาพในการเพมขอมูล 5 10 20 25 30 35 40 0 1 2 3 4 5 6 7
  • 7. 1. ยายขอมูล A(6) ไปอยูตําแหนงที่ 7 5 10 20 25 30 35 40 0 1 2 3 4 5 6 7 2. ยายขอมูล A(5) ไปอยูตําแหนงที่ 6 5 10 20 25 30 35 40 0 1 2 3 4 5 6 7
  • 8. 3. ยายขอมูล A(4) ไปอยูตําแหนงที่ 5 5 10 20 25 30 35 40 0 1 2 3 4 5 6 7 4. ยายขอมูล A(3) ไปอยูตําแหนงที่ 4 5 10 20 25 30 35 40 0 1 2 3 4 5 6 7
  • 9. 5. ยายขอมูล A(2) ไปอยูตําแหนงที่ 3 5 10 20 25 30 35 40 0 1 2 3 4 5 6 7 6. แทรก 15 ในตําแหนงที่ 2 5 10 15 20 25 30 35 40 0 1 2 3 4 5 6 7
  • 10. โครงสรางแบบลิ้งกลิสต head 5 10 20 25 30 35 40 1. ขอที่วาง 1 ที่ สําหรับการแทรกขอมูล 15 2. เปลี่ยนลิงก (link) ของขอมูล 15 ใหชี้ที่ขอมูล 20 head 5 10 20 25 30 35 40 15
  • 11. โครงสรางแบบลิ้งกลิสต 3. เปลี่ยนลิงก (Link) ของขอมูล 10 ใหชี้ที่ขอมูล 15 head 5 10 20 25 30 35 40 15
  • 12. เปนโครงสรางขอมูลแบบเชื่อมโยงเดี่ยวที่แตละขาวสารมีการ แสดงออกถงลาดบกอนหลงอยางชดเจน โดยใชตวช แสดงออกถึงลําดับกอนหลังอยางชัดเจน โดยใชตัวชี้ head 5 10 20 25 30 35 40
  • 13. ขอควรระวัง ในการใชโครงสรางแบบเชือมโยงเดีี่ยว คือ ตอง  ั ใ ใ  ื่ โ ื  รักษาตัวชี้ (Pointer) ที่ชี้ไปทีโหนด (Node) แรกไว ไมใหหาย ่ หรือไมทราบวาหายไปอยูที่ใด ซึ่งทาใหเราไมสามารถเขาถึงลิสตน้น  ํ ั ได หรืออาจหายไปทันที
  • 14. 1. Node (P) หมายถึง Node ที่ถูกชี้โดย Pointer P 2. 2 INFO (P) หมายถึง ขาวสารของโหนดทถูกชี้โดย P หมายถง ขาวสารของโหนดที่ถกชโดย 3. LINK (P) หมายถึง ตําแหนงที่อยูขอโหนดที่ถูกชี้โดย P
  • 15. Linked List ประกอบดวยหนวยความจําเปนสวนๆ เรียกวา node ถ ปน ถาเปน array จะใชพื้นที่หนวยความจาตดตอกน จ รวมกนเปน จ ชพนทหนวยคว มจํ ติดตอกัน จะรวมกัน ปน โครงสรางขอมูลแบบเชื่อมโยงเดี่ยวขนาดใหญที่รวบรวม หนวยความจาน วา หนวยความจํานี้ วา storage pool
  • 16. การนําขอมูลเขา (insertion)   การนําขอมูลเขานั้นเราจะเปลี่ยนเฉพาะคาตัวชี้ เทานั้น โดยไมตองยาย ขอมูล (1) (2) (3) 10 20 10 20 10 20 15 15 15
  • 17. การนําขอมููลใดๆ ออกจากลิสต (List) ถาโหนดนั้นไมใชโหนดแรก ๆ แรกเราจะตองทราบตัวชี้ที่ชี้ไปยังโหนดที่อยูหนาโหนดที่ถูกลบออก 10 15 20
  • 18. จงสรางโครงสรางขอมููลแบบเชื่อมโยง จากขอมููลที่อานเขามาจาก ภายนอกขอมูลมีดังนี้ 1,3,5,7,9 H -อานขอมูลตัวแรกเขามาแลวสรางโหนด L 1 -ตัวชี้ H (Pointer H) แสดงวาเปนคาแรก -ตัวชี้ L (Pointer L) แสดงวาเปนคาสุดทาย P (1)
  • 19. H 1 3 -อานขอมูลตัวที่ 2 เขามา -ตััวชี้ี P (pointer P) แสดงวาเปนตััวชี้ชั่วคราว i ป ี L P H (2) 1 3 - Link ขอมูลโหนดแรกกับโหนด 2 P L (3)
  • 20. H 1 3 5 - อานขอมูลตัวที่ 3 เขามา L P (4) H - linkขอมูลโหนดที่ 2 กับ โหนดที่ 3 1 3 5 P L (5)
  • 21. H 1 3 5 7 L P (6) - อานขอมูลตัวที่ 4 เขามา
  • 22. H 1 3 5 7 P L (7) - Link ขอมูลโหนดที่ 3 กับ โหนดที่ 4
  • 23. H 1 3 5 7 9 L P (8) - อานขอมูลตัวที่ 5 เขามา
  • 24. H 1 3 5 7 9 L (9) - Link ขอมูลโหนดที่ 4 กับโหนดที่ 5
  • 25. ถาเรานําตัวชี้ (pointer) ของโหนดสุดทายในโครงสรางขอมูลแบบ เชื่อมโยงชี้กลับไปที่โหนดแรกก็จะไดโครงสรางขอมูลแบบ ชอมโยง ชอมโยงชกลบไปทโหนดแรกกจ ไดโครงสร งขอมลแบบเชื่อมโยง แบบวงกลม ขอดี ส  สามารถเขาถงทุกๆ โ ใ ิส ไ  โ ไ   ิ่  ี่  ึ โหนดในลสตได โดยไมตองเรมตนท โหนดแรก คือ สามารถเขาไปในลิสตท่จุดใดก็ได ี
  • 27. การเชือมโยงแบบคู (Doubly Linked List) มีี ตัวชี้ี 2 ตััวชีคือ LLINK ซึง ื่ โ ( i i ) ั ี้ ึ่ จะชี้ไปยังโหนดดานซาย และ RLINK ชี้ไปยังโหนดดานขวา LLINK INFO RLINK F ^ 1 3 7 ^ R ตัวชี้ F (Pointer F) หมายถึง ตัวชี้ดานหนา ตัวชี้ R (Pointer R) หมายถึง ตัวชี้ดานหลัง