4 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超3個(gè)贊
堆區(qū)(heap) — 一般由程序員分配釋放, 若程序員不釋放,程序結(jié)束時(shí)可能由OS回收 。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
堆是一棵完全二叉樹:
1、其根結(jié)點(diǎn)的值小于兩個(gè)子結(jié)點(diǎn)的值,其余任何一個(gè)結(jié)點(diǎn)的值都小于其子結(jié)點(diǎn)的值——小根堆。
2、其根結(jié)點(diǎn)的值大于兩個(gè)子結(jié)點(diǎn)的值,其余任何一個(gè)結(jié)點(diǎn)的值都大于其子結(jié)點(diǎn)的值——大根堆。

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
簡(jiǎn)單說(shuō)堆是一種完全二叉樹 一般總用來(lái)構(gòu)造優(yōu)先級(jí)隊(duì)列
堆的特性是父結(jié)點(diǎn)總優(yōu)它任意子節(jié)點(diǎn)(所以堆頂元素為最優(yōu) 但不需要保證左子樹和右子樹的關(guān)系)
堆的物理結(jié)構(gòu)一般用數(shù)組等支持索引的線性結(jié)構(gòu)(因?yàn)槭峭耆鏄?.)
并且實(shí)現(xiàn)構(gòu)造堆 彈出堆頂元素 添加元素并調(diào)整堆等操作
堆排序也是用這個(gè)原理實(shí)現(xiàn)的 先構(gòu)造一個(gè)堆 然后不斷的彈出堆頂元素并調(diào)整堆 生成的序列則是有序的
添加回答
舉報(bào)