Linklist

Preview:

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) หมายถง ตวชดานหลง

Recommended