Download presentation
Presentation is loading. Please wait.
1
Deletion in MIN-MAX Heaps Delete min element Delete max element
2
Delete min element in min-max heap Step1: 移走 root 資料 Step2: 將 heap 的 last-node X 插入 ste1 後的 heap 中 Case1 : Root 沒有任何 child : X 插入 root 位置 Case2 : Root 只有 children 沒有 grandchild 令 children 中最小值為 k 若 k < X 則將 X 與 k 互換位置 否則將 X 插入 root 位置 Case3 : Root 有 grandchildren 令 grandchildren 中最小值為 k 且 k 之 parent 為 p 若 k < X 則 K 移到 X 的位子 若 X > p 則 X 與 p 的值互換 重複 step2 否則將 X 插入 root 位置
3
EX: Delete min element 7 7040 3010915 5045203212 Delete min element min max min max
4
EX: Delete min element 7040 3010915 5045203212 Step1: remove root data 7 min max min max
5
EX: Delete min element 12 7040 3010915 5045203212 Step2: insert last node (12) into root min max min max
6
9 EX: Delete min element 12 7040 3010915 50452032 Step2 Case3 : Node 12 有 grandchildren. Grandchildren 之最小者 9 <12 ->Exchange 9, 12 檢查 12 < 70 ok ! 回到 step2 minimal
7
EX: Delete min element 9 7040 30101215 50452032 Step2 Case 2 : Node 12 只有 children. Children 中最小者 20 > 12 將 12 insert 到該位子
8
EX: Delete min element 9 7040 30101215 50452032 Done min max min max
9
Delete max element in min-max heap Step1: 若只有一個 node 則移走 root, 結束 否則移走 root 之 children 之最大者, 進行 step2 Step2: 將 heap 的 last-node X 插入 ste1 後的 heap 空位中 Case1 : 此位置沒有任何 child : X 插入此位置 Case2 : 此位子為 root 之 sub-tree 只有 children 沒有 grandchild 令 children 中最大值為 k 若 k > X 則將 X 與 k 互換位置 否則將 X 插入 root 位置 Case3 : Root 有 grandchildren 令 grandchildren 中最大值為 k 且 k 之 parent 為 p 若 k > X 則 K 移到 X 的位子 若 X < p 則 X 與 p 的值互換 重複 step2 否則將 X 插入 root 位置
10
EX: Delete max element 7 7040 3010915 5045203212 Delete max element min max min max
11
EX: Delete max element 7 40 3010915 5045203212 Step1: remove 70 min max min max 70
12
EX: Delete max element 7 1240 3010915 5045203212 Step2: insert last node (12) into root min max min max
13
9 EX: Delete max element 7 5040 3010915 12452032 Step2 Case3 : Node 12 有 grandchildren. Grandchildren 之最大者 50 < 12 ->Exchange 50, 12
14
9 EX: Delete max element 7 5040 1210915 30452032 Step2 Case3 : 檢查 12 與其 parent 30 發現 12<30 12 與 30 互換 重複 Step2 檢查 30 之位子 min max min max
15
9 EX: Delete max element 7 5040 1210915 30452032 Step2 Case1 : Node 30 沒有 children ok!
16
EX: Delete min element Done min max min max 9 7 5040 1210915 30452032
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.