首頁 > 常見問題 > 堆序列怎麼判斷

堆序列怎麼判斷

藏色散人
發布: 2019-06-13 11:27:44
原創
12539 人瀏覽過

堆序列怎麼判斷

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

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

堆分為最大堆與最小堆。

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

堆序列怎麼判斷

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

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

堆序列怎麼判斷

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

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板