Upload
meaw-sukee
View
1.348
Download
2
Embed Size (px)
Citation preview
ป ป ไ ส ไ ป เปนรปแบบไมเรยงตามลาดบสมาชก ลกษณะทางกายภาพไมจาเปนตอง
เหมอนกน
ไ ไสมาชกแตละตวจะมการช (point) ไปยงสมาชกตวถดไป
สมาชกทกในรายการจะเชอมตอ (link) เขาดวยกน
สรปคอ
◦ โครงสรางขอมลแบบลงคลสต (Linked List) เปนโครงสรางขอมลท
สมาชกแตละตว เรยกวาโหนด (Node) จะเรยงลาดบตามการเชอมโยง
จะประกอบดวยชอง 2 ชอง ดงน
INFO LINK
Node
INFO ใชเกบขาวสารหรอคาของขอมลตางในลสต (List)
Link ใชเกบตาแหนงทอย (Address) ของโหนด (N de) ถดไป Link ใชเกบตาแหนงทอย (Address) ของโหนด (Node) ถดไป
ซงตาแหนงนเรยกวาตวช (pointer)
โ ส ส ใ ใ ส โครงสรางสแตกและควมการใชอารเรยในการเกบคา สมาชกทกตว จงตอง
เปนชนดเดยวกน
โ โ ไ โครงสรางลงคลสตมโครงสรางขอมลตางกนได
โครงสรางลงคลสตปฏบตการแทรกขอมลและลบขอมล เพยงแตยายการช
ของตวแปรพอยนเตอร ทาใหสมาชกตวอนไมมผลกระทบ
คาใชจายโครงสรางลงคลสตสงกวา และใชพนทเพมมากขน สาหรบสวนการ
เชอมตอไปยงโหนดถดไป
โครงสรางลงลสตใชเวลามากในการคนหาโหนดทตองการ
ตวอยาง โครงสรางขอมลอารเรย (Array) ชอ D มขนาด 8 ตวอยาง โครงสรางขอมลอารเรย (Array) ชอ D มขนาด 8
ตาแหนง มขอมลดงน 5,10,20,25,30,35,40 และตองการเพมขอมลทมคา
15 เขาไปในอารเรยน โดยเรยงลาดบ ใหแสดงแผนภาพในการเพมขอมล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
โครงสรางแบบลงกลสต
5 10 20 25 30 35 40
head
5 10 20 25 30 35 40
1. ขอทวาง 1 ท สาหรบการแทรกขอมล
2. เปลยนลงก (link) ของขอมล 15 ใหชทขอมล 20
15
5 10 20 25 30 35 40
head
15
โครงสรางแบบลงกลสต
3. เปลยนลงก (Link) ของขอมล 10 ใหชทขอมล 15
head
5 10 20 25 30 35 40
15
เปนโครงสรางขอมลแบบเชอมโยงเดยวทแตละขาวสารมการ
แสดงออกถงลาดบกอนหลงอยางชดเจน โดยใชตวชแสดงออกถงลาดบกอนหลงอยางชดเจน โดยใชตวช
5 10 20 25 30 35 40
head
ใ ใ โ โ ขอควรระวง ในการใชโครงสรางแบบเชอมโยงเดยว คอ ตอง
รกษาตวช (Pointer) ทชไปทโหนด (Node) แรกไว ไมใหหาย
หรอไมทราบวาหายไปอยทใด ซงทาใหเราไมสามารถเขาถงลสตนน
ได หรออาจหายไปทนท
1. Node (P) หมายถง Node ทถกชโดย Pointer P
2 INFO (P) หมายถง ขาวสารของโหนดทถกชโดย P2. INFO (P) หมายถง ขาวสารของโหนดทถกชโดย P
3. LINK (P) หมายถง ตาแหนงทอยขอโหนดทถกชโดย P
Linked List ประกอบดวยหนวยความจาเปนสวนๆ เรยกวา node
ถาเปน array จะใชพนทหนวยความจาตดตอกน จะรวมกนเปนถ ปน array จ ชพนทหนวยคว มจ ตดตอกน จ รวมกน ปน
โครงสรางขอมลแบบเชอมโยงเดยวขนาดใหญทรวบรวม
หนวยความจาน วา storage poolหนวยความจาน วา storage pool
การนาขอมลเขา (insertion)
การนาขอมลเขานนเราจะเปลยนเฉพาะคาตวช เทานน โดยไมตองยาย
ขอมล
(1) (2) (3)
10 2010 20 10 20
(1) (2) (3)
1515 15
การนาขอมลใดๆ ออกจากลสต (List) ถาโหนดนนไมใชโหนดแรก ๆ
แรกเราจะตองทราบตวชทชไปยงโหนดทอยหนาโหนดทถกลบออก
10 201510 2015
จงสรางโครงสรางขอมลแบบเชอมโยง จากขอมลทอานเขามาจาก
ภายนอกขอมลมดงน 1,3,5,7,9
H
1L
H
-อานขอมลตวแรกเขามาแลวสรางโหนด1L
-ตวช H (Pointer H) แสดงวาเปนคาแรก
-ตวช L (Pointer L) แสดงวาเปนคาสดทาย
P
(1)(1)
H
1 -อานขอมลตวท 2 เขามา
i ป 3
L P
-ตวช P (pointer P) แสดงวาเปนตวชชวคราว
(2)H
1 3- Link ขอมลโหนดแรกกบโหนด 2
LP
(3)(3)
H
1 3 5 - อานขอมลตวท 3 เขามา
L P
(4)H
1 3 5- linkขอมลโหนดท 2 กบ โหนดท 3
LP
(5)
H
1 3 5 7
L P
(6)
- อานขอมลตวท 4 เขามา
H
1 3 5 7
LP
(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) ของโหนดสดทายในโครงสรางขอมลแบบ
เชอมโยงชกลบไปทโหนดแรกกจะไดโครงสรางขอมลแบบเชอมโยงชอมโยงชกลบไปทโหนดแรกกจ ไดโครงสร งขอมลแบบ ชอมโยง
แบบวงกลม
ส โ ใ ส ไ โ ไ ขอด สามารถเขาถงทกๆ โหนดในลสตได โดยไมตองเรมตนท
โหนดแรก คอ สามารถเขาไปในลสตทจดใดกได
โ โโ โโครงสรางขอมลเชอมโยงแบบวงกลมโครงสรางขอมลเชอมโยงแบบวงกลม
11 3 5 7 9
LH
โ ( i i ) การเชอมโยงแบบค (Doubly Linked List) ม ตวช 2 ตวชคอ LLINK ซง
จะชไปยงโหนดดานซาย และ RLINK ชไปยงโหนดดานขวา
LLINK INFO RLINK
^ 1 3 7 ^F R
ตวช F (Pointer F) หมายถง ตวชดานหนา
ตวช R (Pointer R) หมายถง ตวชดานหลง