在不要求完全排序時,堆排序是一種高效的算法。這種算法的過程是:
(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ù)組表示)。
您可能感興趣的試卷
最新試題
則該隊列中元素個數(shù)為()
則該隊列為滿隊列的條件為()(采用少用一個空間的方法)
某順序表的第一個元素的存儲地址是500,每個元素占4個單元,則第8個元素的起始地址是()
在打印楊輝三角形前N行的算法中,需要申請一個N*N的二維數(shù)組存放楊輝三角形N行數(shù)據(jù)。
通過表達(dá)式()可以獲取帶頭結(jié)點(diǎn)的單鏈表L中首元素結(jié)點(diǎn)的數(shù)據(jù)值。
順序表中有10個數(shù)據(jù)元素,若第一個元素的存儲地址是1000,則最后一個元素地址是1036,第5個元素的地址是()
非空單鏈表結(jié)點(diǎn)結(jié)構(gòu)為[data,next],若指針p所指結(jié)點(diǎn)是尾結(jié)點(diǎn),則()表達(dá)式為真。
設(shè)二叉樹采用二叉鏈表方式存儲,root指向根結(jié)點(diǎn),r所指結(jié)點(diǎn)為二叉樹中任一給定的結(jié)點(diǎn)。則可以通過改寫()算法,求出從根結(jié)點(diǎn)到結(jié)點(diǎn)r之間的路徑。
對關(guān)鍵字{28,16,32,12,60,2,5,72}進(jìn)行快速排序,第一趟以28為樞軸產(chǎn)生的劃分結(jié)果為()
單鏈表類型定義如下:設(shè)計算法在帶頭結(jié)點(diǎn)的單鏈表L中刪除數(shù)據(jù)值最小的結(jié)點(diǎn)(設(shè)鏈表中各結(jié)點(diǎn)數(shù)據(jù)值均不相同)。函數(shù)的原型為:void f34(LinkList L)