在不要求完全排序時,堆排序是一種高效的算法。這種算法的過程是:
(Heapification)把待排序序列看作一棵完全二叉樹,通過反復(fù)篩選將其調(diào)整為堆;
(Re-heapification)依次取出堆頂,然后將剩余的記錄重新調(diào)整為堆。
現(xiàn)考慮序列A = { 23,41,7,5,56 }:
(1)給出對應(yīng)于序列A的最小堆HA(以線性數(shù)組表示);
(2)給出第一次取出堆頂后,重新調(diào)整HA后的結(jié)果(以線性數(shù)組表示);
(3)給出第二次取出堆頂后,重新調(diào)整HA后的結(jié)果(以線性數(shù)組表示)。
您可能感興趣的試卷
最新試題
二叉樹的二叉鏈表類型定義如下:閱讀下列算法,并回答問題:(1)該算法的功能是什么?(2)以下算法功能是否等價于上面的算法?
當(dāng)需要用一個形式參數(shù)直接改變對應(yīng)實參的值時,該形式參數(shù)應(yīng)說明為()
通常將()作為衡量一個查找算法效率優(yōu)劣的標(biāo)準(zhǔn)。
只要無向圖中有權(quán)重相同的邊,其最小生成樹就不可能唯一。
一棵二叉樹的先序序列是:CEDBA,中序序列是:DEBAC ,則該二叉樹的后序序列是()
非空單鏈表結(jié)點結(jié)構(gòu)為[data,next],若指針p所指結(jié)點是尾結(jié)點,則()表達(dá)式為真。
單鏈表類型定義如下:用不帶頭結(jié)點的單鏈表存儲待排數(shù)據(jù),鏈表頭指針為head。下列直接選擇排序算法對鏈表按升序進(jìn)行排序,請?zhí)顚戇m當(dāng)內(nèi)容使算法完整。
已知帶頭結(jié)點的鏈隊列指針Q,則該非空隊列取隊頭元素操作的語句是()
一個抽象類型包括數(shù)據(jù)對象、()和一組處理數(shù)據(jù)的操作。
已知帶頭結(jié)點的鏈隊列指針Q,則該隊列做新元素結(jié)點s進(jìn)隊操作的語句是()