怎麼判斷一個序列是不是堆?

答案:把這個序列看成數組型的二叉樹,如果根結點是i,左子樹是2*i,右子樹是2*i+1。 堆分爲最大堆與最小堆。 最大堆中所有父節點都比左子樹、右子樹大,比如已知序列,畫成堆就是:    所以已知序列是個最大堆。 最小堆中所有父節點都比左子樹、右子樹小,比如{32,50,60,70,100,65},畫成堆:  符合以上兩種情況的序列就是堆
相關文章
相關標籤/搜索