首頁  >  文章  >  堆序列怎麼判斷

堆序列怎麼判斷

藏色散人
藏色散人原創
2019-06-13 11:27:4412503瀏覽

堆序列怎麼判斷

已知一個序列,例如{100,6070,50,32,65},怎麼判斷是不是堆?

答案:把這個序列看成陣列型的二元樹,如果根結點是i,左子樹是2*i,右子樹是2*i 1。

堆分為最大堆與最小堆。

1.最大堆中所有父節點都比左子樹、右子樹大,例如已知序列,畫成堆就是: 

堆序列怎麼判斷

所以已知序列是個最大堆。

2.最小堆中所有父節點都比左子樹、右子樹小,例如{32,50,60,70,100,65},畫成堆: 

堆序列怎麼判斷

#符合以上兩種情況的序列就是堆

以上是堆序列怎麼判斷的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn