close
考完第二次小考打算來打個Heap Array 版的
就是Heap數字裡在Array情形 (人眼看是tree,電腦看是array)
和child中比較大的交換,A(h)的child分別是A(2h), A(2h+1)
(例題圖)
1 2 3 4 5
48 37 26 15 4
取出 48拿最後一個數字4替補
1 2 3 4 5
4 37 26 15
第一個數字的child是2號和3號(2h,2h+1)
4<37 所以4和37交換
1 2 3 4 5
37 4 26 15
4再和它的小孩交換也就是4號15
1 2 3 4 5
37 15 26 4
接著輸出37
一樣拿最後一個取代
1 2 3 4 5
4 15 26
26比15大,所以和26交換
1 2 3 4 5
26 15 4
接著輸出26
1 2 3 4 5
4 15
4<15交換
輸出15
剩4
最後輸出4,結束
全站熱搜