28

Linklist

Embed Size (px)

Citation preview

Page 1: Linklist
Page 2: Linklist

ป ป ไ ส ไ ป เปนรปแบบไมเรยงตามลาดบสมาชก ลกษณะทางกายภาพไมจาเปนตอง

เหมอนกน

ไ ไสมาชกแตละตวจะมการช (point) ไปยงสมาชกตวถดไป

สมาชกทกในรายการจะเชอมตอ (link) เขาดวยกน

สรปคอ

◦ โครงสรางขอมลแบบลงคลสต (Linked List) เปนโครงสรางขอมลท

สมาชกแตละตว เรยกวาโหนด (Node) จะเรยงลาดบตามการเชอมโยง

จะประกอบดวยชอง 2 ชอง ดงน

Page 3: Linklist

INFO LINK

Node

INFO ใชเกบขาวสารหรอคาของขอมลตางในลสต (List)

Link ใชเกบตาแหนงทอย (Address) ของโหนด (N de) ถดไป Link ใชเกบตาแหนงทอย (Address) ของโหนด (Node) ถดไป

ซงตาแหนงนเรยกวาตวช (pointer)

Page 4: Linklist
Page 5: Linklist

โ ส ส ใ ใ ส โครงสรางสแตกและควมการใชอารเรยในการเกบคา สมาชกทกตว จงตอง

เปนชนดเดยวกน

โ โ ไ โครงสรางลงคลสตมโครงสรางขอมลตางกนได

โครงสรางลงคลสตปฏบตการแทรกขอมลและลบขอมล เพยงแตยายการช

ของตวแปรพอยนเตอร ทาใหสมาชกตวอนไมมผลกระทบ

คาใชจายโครงสรางลงคลสตสงกวา และใชพนทเพมมากขน สาหรบสวนการ

เชอมตอไปยงโหนดถดไป

โครงสรางลงลสตใชเวลามากในการคนหาโหนดทตองการ

Page 6: Linklist

ตวอยาง โครงสรางขอมลอารเรย (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

Page 7: Linklist

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

Page 8: Linklist

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

Page 9: Linklist

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

Page 10: Linklist

โครงสรางแบบลงกลสต

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

Page 11: Linklist

โครงสรางแบบลงกลสต

3. เปลยนลงก (Link) ของขอมล 10 ใหชทขอมล 15

head

5 10 20 25 30 35 40

15

Page 12: Linklist

เปนโครงสรางขอมลแบบเชอมโยงเดยวทแตละขาวสารมการ

แสดงออกถงลาดบกอนหลงอยางชดเจน โดยใชตวชแสดงออกถงลาดบกอนหลงอยางชดเจน โดยใชตวช

5 10 20 25 30 35 40

head

Page 13: Linklist

ใ ใ โ โ ขอควรระวง ในการใชโครงสรางแบบเชอมโยงเดยว คอ ตอง

รกษาตวช (Pointer) ทชไปทโหนด (Node) แรกไว ไมใหหาย

หรอไมทราบวาหายไปอยทใด ซงทาใหเราไมสามารถเขาถงลสตนน

ได หรออาจหายไปทนท

Page 14: Linklist

1. Node (P) หมายถง Node ทถกชโดย Pointer P

2 INFO (P) หมายถง ขาวสารของโหนดทถกชโดย P2. INFO (P) หมายถง ขาวสารของโหนดทถกชโดย P

3. LINK (P) หมายถง ตาแหนงทอยขอโหนดทถกชโดย P

Page 15: Linklist

Linked List ประกอบดวยหนวยความจาเปนสวนๆ เรยกวา node

ถาเปน array จะใชพนทหนวยความจาตดตอกน จะรวมกนเปนถ ปน array จ ชพนทหนวยคว มจ ตดตอกน จ รวมกน ปน

โครงสรางขอมลแบบเชอมโยงเดยวขนาดใหญทรวบรวม

หนวยความจาน วา storage poolหนวยความจาน วา storage pool

Page 16: Linklist

การนาขอมลเขา (insertion)

การนาขอมลเขานนเราจะเปลยนเฉพาะคาตวช เทานน โดยไมตองยาย

ขอมล

(1) (2) (3)

10 2010 20 10 20

(1) (2) (3)

1515 15

Page 17: Linklist

การนาขอมลใดๆ ออกจากลสต (List) ถาโหนดนนไมใชโหนดแรก ๆ

แรกเราจะตองทราบตวชทชไปยงโหนดทอยหนาโหนดทถกลบออก

10 201510 2015

Page 18: Linklist

จงสรางโครงสรางขอมลแบบเชอมโยง จากขอมลทอานเขามาจาก

ภายนอกขอมลมดงน 1,3,5,7,9

H

1L

H

-อานขอมลตวแรกเขามาแลวสรางโหนด1L

-ตวช H (Pointer H) แสดงวาเปนคาแรก

-ตวช L (Pointer L) แสดงวาเปนคาสดทาย

P

(1)(1)

Page 19: Linklist

H

1 -อานขอมลตวท 2 เขามา

i ป 3

L P

-ตวช P (pointer P) แสดงวาเปนตวชชวคราว

(2)H

1 3- Link ขอมลโหนดแรกกบโหนด 2

LP

(3)(3)

Page 20: Linklist

H

1 3 5 - อานขอมลตวท 3 เขามา

L P

(4)H

1 3 5- linkขอมลโหนดท 2 กบ โหนดท 3

LP

(5)

Page 21: Linklist

H

1 3 5 7

L P

(6)

- อานขอมลตวท 4 เขามา

Page 22: Linklist

H

1 3 5 7

LP

(7)

- Link ขอมลโหนดท 3 กบ โหนดท 4

Page 23: Linklist

H

1 3 5 7 9

L P(8)

- อานขอมลตวท 5 เขามา

Page 24: Linklist

H

1 3 5 7 9

L(9)

- Link ขอมลโหนดท 4 กบโหนดท 5

Page 25: Linklist

ถาเรานาตวช (pointer) ของโหนดสดทายในโครงสรางขอมลแบบ

เชอมโยงชกลบไปทโหนดแรกกจะไดโครงสรางขอมลแบบเชอมโยงชอมโยงชกลบไปทโหนดแรกกจ ไดโครงสร งขอมลแบบ ชอมโยง

แบบวงกลม

ส โ ใ ส ไ โ ไ ขอด สามารถเขาถงทกๆ โหนดในลสตได โดยไมตองเรมตนท

โหนดแรก คอ สามารถเขาไปในลสตทจดใดกได

Page 26: Linklist

โ โโ โโครงสรางขอมลเชอมโยงแบบวงกลมโครงสรางขอมลเชอมโยงแบบวงกลม

11 3 5 7 9

LH

Page 27: Linklist

โ ( i i ) การเชอมโยงแบบค (Doubly Linked List) ม ตวช 2 ตวชคอ LLINK ซง

จะชไปยงโหนดดานซาย และ RLINK ชไปยงโหนดดานขวา

LLINK INFO RLINK

^ 1 3 7 ^F R

ตวช F (Pointer F) หมายถง ตวชดานหนา

ตวช R (Pointer R) หมายถง ตวชดานหลง

Page 28: Linklist