งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

วิวัฒน์ ชินนาทศิริกุล

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "วิวัฒน์ ชินนาทศิริกุล"— ใบสำเนางานนำเสนอ:

1 วิวัฒน์ ชินนาทศิริกุล
AVL Tree ,B-tree วิวัฒน์ ชินนาทศิริกุล

2 AVL Tree (Adelson-Velskii and Landis Tree)
1. เป็น binary search tree 2. เป็น Balanced tree Balanced tree หมายถึง Tree ที่มีคุณสมบัติดังนี้คือ ทุกโหนดใน tree ต้องมีค่าน้ำหนักประจำโหนด เป็น -1 , 0 หรือ 1 เท่านั้น น้ำหนักของโหนด R = ความสูงของ TL - ความสูงของ TR

3 ตัวอย่างการตรวจสอบ AVL Tree
โหนดที่บรรจุข้อมูล 12 มีความสูงเท่ากับ 1-3 = -2 โหนดที่บรรจุข้อมูล 7 มีความสูงเท่ากับ 0-2 = -2 โหนดที่บรรจุข้อมูล 20 มีความสูงเท่ากับ 2-1 = 1 12 7 20 15 43 5

4 คำถาม Tree ที่กำหนดด้านล่างเป็น AVL Tree หรือไม่
1 11 3 24 18 34 13 86 8 25 14 43 32 56 29 74 3 81 41 72 รูป A รูป B

5 สาเหตุที่ทำให้ Tree ไม่สมดุลย์ (Unbalanced tree)
1. Left of Left เกิดเมื่อมีการแทรกโหนดเข้าไปด้าน sub-tree ฝั่งซ้ายของโหนดลูกทางซ้าย เกิด Imbalance 11 11 5 24 5 24 3 7 3 7 2 เดิมต้นไม้สมดุลย์ ต้นไม้ไม่สมดุลย์

6 2. Right of Right เกิดเมื่อมีการแทรกโหนดเข้าไปด้าน sub-tree ฝั่งขวาของโหนดลูกทางขวา
เกิด Imbalance 11 11 5 24 5 24 15 45 15 45 เดิมต้นไม้สมดุลย์ ต้นไม้ไม่สมดุลย์ 82

7 3.Right of Left เกิดเมื่อมีการแทรกโหนดเข้าไปด้าน sub-tree ฝั่งขวาของโหนดลูกทางซ้าย เกิด Imbalance 11 11 5 24 5 24 3 10 3 10 6

8 4. Left of Right เกิดเมื่อมีการแทรกโหนดเข้าไปด้าน sub-tree ฝั่งขวาของโหนดลูกทางซ้าย เกิด Imbalance 11 11 5 24 5 24 15 45 15 45 18

9 การทำ Balancing Tree 1. Single rotation
การหมุน 1 ครั้ง ใช้กรณีเกิด Left of Left และ Right of Right 2. Double rotation การหมุน 2 ครั้ง ใช้กรณีเกิด Right of Left และ Left of Right

10 1. Single rotation : rotate right
C B B A C A

11 ตัวอย่าง 24 11 11 5 24 5 28 28 10 56 49 10 2 12 49 2 12 30 56 30

12 11 5 5 24 3 11 3 7 2 7 24 2

13 2. Single rotation : rotate left
B B A C C

14 ตัวอย่าง 4 12 12 4 20 20 13 13 26 5 20 5 2 7 26 2 7 20 38 38

15 11 5 24 11 45 82 15 5 24 15 45 82

16 3. Double rotation : left of right
C A C B

17 ตัวอย่าง 11 15 5 24 11 24 15 45 5 18 45 18

18 4. Double rotation : right of left
C B A A C B

19 ตัวอย่าง 11 10 5 24 5 11 3 10 3 6 24 6

20 ตัวอย่าง จงสร้าง AVL Tree จากข้อมูลที่นำเข้ามาตามลำดับดังต่อไปนี้
23, 54, 34, 2, 14, 7, 26, 16, 87, 21, 9

21 โครงสร้างข้อมูลแบบ B-Tree
เป็นการจัดให้โครงสร้างต้นไม้อยู่ในสภาพสมดุล วิธีการหนึ่งที่เรียกว่า Balanced Order n Multiway Search Tree หรือ B-Tree (ตั้งชื่อตามผู้พัฒนาขึ้นคือ Buyer) คุณสมบัติของ B-Tree order m มีดังนี้ โหนดราก ถ้ามีลูกหลาน จะต้องมีอย่างน้อย 2 โหนด โหนดอื่นๆที่ไม่ใช่โหนดราก หรือโหนดใบ จะมีลูกไม่น้อยกว่า m/2 โหนดใบอยู่ในระดับเดียวกัน B-Tree order m อาจเรียก (m-1)-m tree เช่น B-Tree order 3 อาจเรียกว่า 2-3 Tree

22 ตัวอย่าง B-tree order 3 หรือ 2-3 Tree
40 7 15 30 10 17 25 32 37 3 5

23 ตัวอย่าง จงสร้าง 2-3 Tree จากข้อมูลต่อไปนี้

24 แบบฝึกหัด 1. จงสร้าง AVL Tree จากข้อมูลที่กำหนดให้ต่อไปนี้
5, 23, 57, 8, 12, 45, 21, 36, 28, 4, 22, 13, 27 2. กำหนด 2-3 Tree ดังภาพ 15 6 5 17 7 8 29 30 จงนำข้อมูลต่อไปนี้ 9 , 10 , 22 , 40 , 12 ,45 , 50 แทรกลง 2-3 Tree


ดาวน์โหลด ppt วิวัฒน์ ชินนาทศิริกุล

งานนำเสนอที่คล้ายกัน


Ads by Google