在不要求完全排序時,堆排序是一種高效的算法。這種算法的過程是:
(Heapification)把待排序序列看作一棵完全二叉樹,通過反復篩選將其調(diào)整為堆;
(Re-heapification)依次取出堆頂,然后將剩余的記錄重新調(diào)整為堆。
現(xiàn)考慮序列A = { 23,41,7,5,56 }:
(1)給出對應于序列A的最小堆HA(以線性數(shù)組表示);
(2)給出第一次取出堆頂后,重新調(diào)整HA后的結(jié)果(以線性數(shù)組表示);
(3)給出第二次取出堆頂后,重新調(diào)整HA后的結(jié)果(以線性數(shù)組表示)。
您可能感興趣的試卷
最新試題
當需要用一個形式參數(shù)直接改變對應實參的值時,該形式參數(shù)應說明為()
在中序遍歷非遞歸算法中,在進入子樹進行訪問前,需要在自定義棧中保存()
一棵二叉樹的后序序列是:CBEFDA,中序序列是:CBAEDF,則該二叉樹的先序序列是()
則該隊列為滿隊列的條件為()(采用少用一個空間的方法)
下列可以直接用循環(huán)結(jié)構(gòu)即可將遞歸轉(zhuǎn)換為非遞歸的是()
單鏈表類型定義如下:用不帶頭結(jié)點的單鏈表存儲待排數(shù)據(jù),鏈表頭指針為head。下列直接選擇排序算法對鏈表按升序進行排序,請?zhí)顚戇m當內(nèi)容使算法完整。
設二叉樹采用二叉鏈表方式存儲,root指向根結(jié)點,r所指結(jié)點為二叉樹中任一給定的結(jié)點。則可以通過改寫()算法,求出從根結(jié)點到結(jié)點r之間的路徑。
頭指針為L的帶頭結(jié)點的雙循環(huán)鏈表,結(jié)點的前趨指針域為prior,后繼指針域為next,判斷該鏈表為空的條件是()。
某圖的鄰接表存儲結(jié)構(gòu)如下圖所示,則從6號點出發(fā),深度優(yōu)先遍歷的序列是()
采用鄰接矩陣存儲n個頂點e條邊的無向圖,其鄰接矩陣的大小為()。