二叉堆例程
二叉堆(一)之 圖文解析 和 C語言的實現(xiàn) - 如果天空不死
二叉堆是一種特殊的堆啥箭,二叉堆是完全二元樹(二叉樹)或者是近似完全二元樹(二叉樹)。二叉堆有兩種:最大堆和最小堆。最大堆:父結(jié)點的鍵值總是大于或等于任何一個子節(jié)點的鍵值;最小堆:父結(jié)點的鍵值總是小于或等于任何一個子節(jié)點的鍵值。
堆的定義
堆(heap),這里所說的堆是數(shù)據(jù)結(jié)構(gòu)中的堆呀洲,而不是內(nèi)存模型中的堆。堆通常是一個可以被看做一棵樹啼止,它滿足下列性質(zhì):
[ 性質(zhì)一 ] 堆中任意節(jié)點的值總是不大于(不小于)其子節(jié)點的值道逗;
[ 性質(zhì)二 ] 堆總是一棵完全樹。
將任意節(jié)點不大于其子節(jié)點的堆叫做 最小堆 或 小根堆 献烦,而將任意節(jié)點不小于其子節(jié)點的堆叫做 最大堆 或 大根堆 滓窍。常見的堆有二叉堆、左傾堆巩那、斜堆吏夯、二項堆、斐波那契堆等等即横。