堆 最大堆 最小堆
堆是特殊的隊列
從堆中取出元素是依照元素的優(yōu)先級大小,而不是元素進入隊列的先后順序
堆最常用的結構是二叉樹表示,不特指的話,它是一棵完全二叉樹
因為高度為h的完全二叉樹有結點2(h-1) 到2h-1個,且結點排布及其規(guī)律,因此,通常不必使用指針,而是用數(shù)組來實現(xiàn)堆的存儲
堆中的元素在數(shù)組中是按完全二叉樹的層序存儲的(特別提醒:所用數(shù)組起始單元為1,而不是0)
這樣做的目的是,很容易從子結點找到其父節(jié)點和左右結點
堆的兩個特性:
- 堆的結構特性:用數(shù)組表示完全二叉樹
- 堆的部分有序性:任意結點元素的數(shù)值與其子結點所存儲的值是相關的
(相關性的不同決定了兩種不同的基本堆:最小堆、最大堆)
最小堆 構建、插入、刪除的過程圖解:https://blog.csdn.net/hrn1216/article/details/51465270
總結
- 上一篇: 天气热出汗可以减肥吗
- 下一篇: 减肥能吃大米饭吗