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

                   INFO            LINK




INFO ใชเก็บขาวสารหรือคาของขอมูลตางในลิสต (List)
Link ใชเก็บตําแหนงที่อย (Address) ของโหนด (N de) ถัดไป
       ใชเกบตาแหนงทอยู                          (Node) ถดไป
ซึ่งตําแหนงนี้เรียกวาตัวชี้ (pointer)
Linklist
โครงสรางสแตกและคิิวมีการใชอารเรยในการเก็บคา สมาชิกทุกตัว จึงตอง
โ ส ส                       ี ใ   ใ              ็  ส ิ ั ึ 
เปนชนิดเดียวกัน
โครงสรางลิิ้งคลิสตมีโครงสรางขอมูลตางกันได
โ                                     ั ไ
โครงสรางลิ้งคลิสตปฏิบัติการแทรกขอมูลและลบขอมูล เพียงแตยายการชี้
ของตัวแปรพอยนเตอร ทําใหสมาชิกตัวอื่นไมมีผลกระทบ
คาใชจายโครงสรางลิ้งคลิสตสูงกวา และใชพื้นที่เพิ่มมากขึ้น สําหรับสวนการ
เชื่อมตอไปยังโหนดถัดไป
โครงสรางลิ้งลิสตใชเวลามากในการคนหาโหนดที่ตองการ
ตวอยาง โครงสรางขอมูลอารเรย (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

PPT
04 การเชื่อมประพจน์
PDF
การเชื่อมประพจน์ด้วยตัวเชื่อม
PDF
ข้อมูลดิจิทัลและเลขฐาน
PDF
ความสัมพันธ์และฟังก์ชัน
PPT
Graph shortest
PDF
PDF
Hashing function
04 การเชื่อมประพจน์
การเชื่อมประพจน์ด้วยตัวเชื่อม
ข้อมูลดิจิทัลและเลขฐาน
ความสัมพันธ์และฟังก์ชัน
Graph shortest
Hashing function

Viewers also liked (20)

PDF
Search
PDF
Sorting
PPTX
Computer Programming 1
PDF
6 - functions
PDF
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
PDF
ระบบคอมพิวเตอร์
PPT
การวิเคราะห์อัลกอริทึม
PDF
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
PDF
อุปกรณ์รับและแสดงผล
PDF
การกำหนดปัญหาและศึกษาความเป็นไปได้
PDF
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
PDF
สถาปัตยกรรมฐานข้อมูล
PDF
การ Setup disk quota กับ user ทุกคน
PDF
PDF
PDF
Outline
PDF
PDF
Queue
PDF
Record
PDF
Recursion
Search
Sorting
Computer Programming 1
6 - functions
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
ระบบคอมพิวเตอร์
การวิเคราะห์อัลกอริทึม
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
อุปกรณ์รับและแสดงผล
การกำหนดปัญหาและศึกษาความเป็นไปได้
การแก้ปัญหาการออกแบบและพัฒนาขั้นตอนวิธี
สถาปัตยกรรมฐานข้อมูล
การ Setup disk quota กับ user ทุกคน
Outline
Queue
Record
Recursion
Ad

Similar to Linklist (20)

PDF
ชุดฝึกทักษะ 54
PPT
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
PDF
(Big One) C Language - 05 ฟังก์ชันจัดกาลิงค์ลิสต์แบบทางเดียว
PDF
ใบความรู้ที่1
PDF
พื้นฐานโปรแกรมภาษาจาวา
PDF
03 data structure
PDF
Graph
PDF
Graph
PDF
(Big One) C Language - 06 ฟังก์ชันจัดกาลิงค์ลิสต์แบบสองทาง
PDF
Graph theory
PPT
Chapter6
PPT
Chapter6
PPT
Chapter6
PDF
ใบความรู้ที่1
PDF
คู่มือการใช้งาน Class start
PDF
ขั้นตอ
PDF
Smartart Powerpoint2007.pdf
PDF
ใบความรู้ที่1.1
ชุดฝึกทักษะ 54
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
(Big One) C Language - 05 ฟังก์ชันจัดกาลิงค์ลิสต์แบบทางเดียว
ใบความรู้ที่1
พื้นฐานโปรแกรมภาษาจาวา
03 data structure
Graph
Graph
(Big One) C Language - 06 ฟังก์ชันจัดกาลิงค์ลิสต์แบบสองทาง
Graph theory
Chapter6
Chapter6
Chapter6
ใบความรู้ที่1
คู่มือการใช้งาน Class start
ขั้นตอ
Smartart Powerpoint2007.pdf
ใบความรู้ที่1.1
Ad

More from Meaw Sukee (20)

PDF
PDF
PDF
Report
PDF
Google classroom
PDF
Plan10
PDF
Plan9
PDF
PDF
PDF
Problem
PPTX
Peeraya
PDF
ตัวอย่างเล่ม
PDF
Cal 190856
PDF
Total pub
PDF
Public
PDF
Total pub
PDF
PDF
Training_edmodo
PDF
Frame
PDF
Frame
PDF
Table
Report
Google classroom
Plan10
Plan9
Problem
Peeraya
ตัวอย่างเล่ม
Cal 190856
Total pub
Public
Total pub
Training_edmodo
Frame
Frame
Table

Linklist

  • 2. เปนรูปแบบไมเรียงตามลาดับสมาชิก ลักษณะทางกายภาพไมจาเปนตอง ป ไ ี ํ ัส ิ ั ไ  ํ ป  เหมือนกัน สมาชิิกแตละตััวจะมีีการชีี้ (point) ไ งสมาชิิกตััวถัดไป ไปยัั ัไ สมาชิกทุกในรายการจะเชื่อมตอ (link) เขาดวยกัน สรุปคือ ◦ โครงสรางขอมูลแบบลิ้งคลิสต (Linked List) เปนโครงสรางขอมูลที่ สมาชิกแตละตัว เรียกวาโหนด (Node) จะเรียงลําดับตามการเชื่อมโยง จะประกอบดวยชอง 2 ชอง ดังนี้
  • 3. Node INFO LINK INFO ใชเก็บขาวสารหรือคาของขอมูลตางในลิสต (List) Link ใชเก็บตําแหนงที่อย (Address) ของโหนด (N de) ถัดไป ใชเกบตาแหนงทอยู (Node) ถดไป ซึ่งตําแหนงนี้เรียกวาตัวชี้ (pointer)
  • 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) หมายถึง ตัวชี้ดานหลัง