高普考題庫
96 年 096年公務人員高等考試三級考試暨普通考試・資料結構
申論 4堆積排序(Heap Sort)㈠堆積排序將堆積樹(heap tree)用一個陣列(array)A 儲存。陣列的指標(index)從1 到N。請說明堆積樹的根(root)在陣列中的位置。請說明陣列(array)A 第i 個位置A[i] 所儲存的堆積樹節點的左子節點(left child)、右子節點(rightchild)、以及父節點(parent)各自在陣列A 中的位置。(5 分)㈡在Max-堆積樹中,除了根節點(root)外,每一個節點所儲存的數小於或等於其父節點所儲存的數。假設陣列A 儲存一個十個節點的Max-堆積樹。陣列A 中的數字從第一個位置到第10 個位置所存數字依序為16, 14, 10, 8, 7, 9, 3, 2, 4, 1。請畫出陣列A 所儲存的堆積樹以及各節點所儲存的數。(5 分)㈢請以儘量接近程式語言虛擬碼描述如何將一個不符合Max-堆積樹性質的陣列轉換成符合Max-堆積樹性質的陣列。請分析你的演算法的時間複雜度。(15 分)