什么是堆?(不是數據結構中的堆)
4 回答

料青山看我應如是
TA貢獻1772條經驗 獲得超8個贊
堆是一棵完全二叉樹:
1、其根結點的值小于兩個子結點的值,其余任何一個結點的值都小于其子結點的值——小根堆。
2、其根結點的值大于兩個子結點的值,其余任何一個結點的值都大于其子結點的值——大根堆。

慕慕森
TA貢獻1856條經驗 獲得超17個贊
簡單說堆是一種完全二叉樹 一般總用來構造優先級隊列
堆的特性是父結點總優它任意子節點(所以堆頂元素為最優 但不需要保證左子樹和右子樹的關系)
堆的物理結構一般用數組等支持索引的線性結構(因為是完全二叉樹..)
并且實現構造堆 彈出堆頂元素 添加元素并調整堆等操作
堆排序也是用這個原理實現的 先構造一個堆 然后不斷的彈出堆頂元素并調整堆 生成的序列則是有序的
添加回答
舉報
0/150
提交
取消