PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 ·...

14

Transcript of PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 ·...

Page 1: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน
Page 2: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

โครงสรา้งรปูตน้ไม(้Tree structure)เป็นการน าตวัแปรชนดิตวัชีเ้ก็บโหนดของขอ้มลูไม่เป็นเชิงเสน้(Non-linear list) แตจ่ดัเก็บเป็นล าดบัชัน้ (Hierarchical) โดยล าดบัชัน้บนสดุจะท าหนา้ท่ีคลา้ยรากของตน้ไม ้และล าดบัชัน้ถดัๆไปเปรียบเสมือนกิ่งของตน้ไม ้แตล่ะ

กิ่งของตน้ไมส้ามารถแตกเป็นกิ่งยอ่ยๆไดใ้นล าดบัชัน้ถัดๆไปจนกระทัง่เป็นใบ

( )

Page 3: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

โครงสรา้งรปูตน้ไมท้ัว่ไป ประกอบดว้ย เซตของโหนดขอ้มลู โดย

โหนดขอ้มลูจะมลีกัษณะดงันี้

โหนดพิเศษ เรียกว่าราก(Root) เป็นโหนดบนสดุของล าดบัชัน้

โหนดอื่นๆ ถกูแบ่งเป็นเซตยอ่ยๆ จะเรียกว่าตน้ไมย้่อย(Subtree)

Page 4: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

V0

V7 V9V1

V10V3V2

Page 5: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

ตน้ไมแ้บบทวิภาคเป็นโครงสรา้งรปูตน้ไมช้นดิหนึง่ที่มกีิ่งแยกออกมา(Out node) ของทกุๆ โหนดนอ้ยกว่าหรือเท่ากบั 2

แตถ่า้ทกุโหนดมกีิ่งท่ีแยกออกมาเท่ากบั 2 หรือ 0 เรียกว่าโครงสรา้งรปูตน้ไมน้ีว่้าตน้ไมแ้บบทวิภาคสมบรูณ(์Full binary tree)

Page 6: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

A

CB

D GE F

A

CB

D

A

EB

C D

Page 7: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

Sequential link เป็นการแทนตน้ไมแ้บบทวิภาคเป็นตน้ไมแ้บบทวิภาคสมบรูณ์

โปรแกรมเมอรส์ามารถก าหนดโครงสรา้งขอ้มลูเป็นแถวล าดบั 1 มติใิหม้ขีนาดเท่ากบั

ตน้ไมแ้บบเต็มตน้โดยเก็บรากที่ต าแหนง่แรกในท่ีนีค้ือ 0 ดงันี้

A

CB

D FE

0

1 2

x43 65

A FEDCB

0 654321

Page 8: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

Link allocation เป็นการจดัเก็บขอ้มลูโดยใชร้ายการโยง โดยขอ้มลูแตล่ะ

โหนด

ประกอบดว้ยตวัชี ้2 ตวั โดยตวัชีต้วัแรกเก็บเลขท่ีอยู่ของโหนดที่เป็นตน้ไมย้่อย

ทางซา้ยและตวัชีอี้กตวัหนึง่จะเชือ่มโยงโดยเก็บเลขที่อยู่ของโหนดที่เป็นตน้ไมย้่อย

ทางขวา

โดย llink เป็นตวัชีท้ี่ ชีไ้ปยงัตน้ไมย้่อยทางซา้ย(Left sub tree)

data เป็นตวัแปรที่ใชส้ าหรบั เก็บขอ้มลู

rlink เป็นตวัชี ้ชีไ้ปยงัตน้ไมย้่อยทางขวา(Right sub tree)

A CB

llink rlinkdata

Page 9: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

ตน้ไมค้น้หาแบบทวิภาคเป็นตน้ไมแ้บบทวิภาคชนดิหนึง่ มกีฎเกณฑใ์นการ

สรา้งดงันี้

ค่าที่เก็บที่ราก(Root) ตอ้งมคี่ามากกว่าขอ้มลูตน้ไมย้่อยทางซา้ยของทกุโหนด

ค่าที่เก็บในตน้ไมย้่อยทางขวา ตอ้งมากกว่าหรือเทา่กบัราก(Root) ทกุๆ โหนดแตล่ะตน้ไมย้่อยตอ้งมคีณุสมบตัติามขอ้ที่ 1 และ 2

Page 10: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

8

root

2 13

5 9

7

8

9

7

5

2 13

Page 11: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

34

root

23 42

75

53

98

62

Page 12: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน
Page 13: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

a*b-c*d-e

และจงสรา้งโครงสรา้งตน้ไมจ้ากนพิจนน์ี้

Page 14: PowerPoint Presentationinstructor.ru.ac.th/urai/cos2101/COS2101_12.pdf · 2014-09-23 · โครงสร้างรูปต้นไม้(Tree structure)เป็นการน

a+b-c*d/e

และจงสรา้งโครงสรา้งตน้ไมจ้ากนพิจนน์ี้