小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

大根堆排序

 雪柳花明 2017-09-15
 



堆的存儲

一般都用數(shù)組來表示堆,

第i結(jié)點(diǎn)為子節(jié)點(diǎn),則該i節(jié)點(diǎn)的父結(jié)點(diǎn)下標(biāo)就為(i – 1) / 2。

第i節(jié)點(diǎn)為父節(jié)點(diǎn)時,它的左右子結(jié)點(diǎn)下標(biāo)分別為2 * i + 1和2 * i + 2。

如第0個結(jié)點(diǎn)左右子結(jié)點(diǎn)下標(biāo)分別為1和2。


大根堆排序的過程:

1. 首先,建立這個大根堆,大根堆使用數(shù)組表示的,所以父節(jié)點(diǎn)的個數(shù),

最多為array.size()/2,數(shù)組的個數(shù)除以2.

2. 先建立一個大根堆交換的函數(shù),head_ajust().該函數(shù)負(fù)責(zé),父節(jié)點(diǎn)大于左右子節(jié)點(diǎn)。

3. 建立大根堆的時候,從父節(jié)點(diǎn)從size/2----到---0,以保證,每一個父節(jié)點(diǎn)的值,都大于左右子節(jié)點(diǎn)的值。

1.建立完之后,就是排序了。


 
 


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多