存儲
二叉堆一般用數組來表示。例如,根節
點在數組中的位置是0,第n個位置的子節點分別在2n+1和 2n+2。因此,第0個位置的子節點在2和3,1的子節點在4和5。以此類推。這種存儲方式便於尋找父節點和子節點。如下圖的兩個堆:
111
/ \ / \
2 3 9 10
/ \ / \ / \ / \
4 567 5 67 8
/ \ / \ / \ / \
89 10 11 12 34
將這兩個堆保存在以1開始的數組中:
位置:123456789 10 11
左圖:123456789 10 11
右圖: 119 1056781234