.解答問題
()(分)設某文件中待排序記錄的排序碼為試畫圖表示出樹形選擇排序(增序)過程的前三步
()(分) 試說明樹形選擇排序的基本思想
()(分) 樹形選擇排序與直接選擇排序相比較優缺點是什麼?
()(分) 堆排序是如何改進樹形排序方法的?優點是什麼?【山東大學 五(分)】 【山東工業大學 五 (分)】
若有N個元素已構成一個小根堆 那麼如果增加一個元素為Kn+請用文字簡要說明你如何在logn 的時間內將其重新調整為一個堆?【中科院計算所 三 (分)】
.填空並回答相關問題
()下面是將任意序列調整為最大堆(MAX HEAP)的算法請將空白部分填上
將任意序列調整為最大堆通過不斷調用adjust函數即FOR(i=n/;i >;i )adjust(listin);其中list為待調整序列所在數組(從下標開始)n為序列元素個數adjust函數為
void adjust(int list[]int rootint n)
/*將以root為下標的對應元素作為待調整堆的根待調整元素放在list數組中最大元素下標為n*/
{int childrootkey;
rootkey=list[root];
child=*root;
while(child<=n)
{if((child<n)&&(list[child]<list[child+]))
()_______;
if(rootkey>list[child])
break;
else{List[()_______]=list[child];
child*=;
}
}
list[child/]=rootkey;
}
().判斷下列序列能否構成最大堆();若不能按上述算法將其調整為堆調整後的結果為( )【浙江大學 七 (分)】
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/sjjg/201311/22966.html