moea_joint_essay
112年
[儀電] 計算機概論、自動控制
第 二 題
📖 題組:
三、請依下列指定之排序法進行數列遞增排序,並寫出過程中每一次循環(Pass)之數列變化。(3 題,共 25 分)
三、請依下列指定之排序法進行數列遞增排序,並寫出過程中每一次循環(Pass)之數列變化。(3 題,共 25 分)
📝 此題為申論題,共 3 小題
小題 (二)
數列【36 55 13 19 24 16 46 39】請用快速排序法(Quick Sort),以第 1 個數值為樞紐(Pivot)執行排序。(5 分)
思路引導 VIP
快速排序法的每趟(Pass)是透過 Pivot 將陣列分為小於與大於的兩部分。展示每次挑選首個元素為 Pivot 進行 Partition 後的結果。
小題 (一)
數列【36 55 13 19 24 16 46 39】請用合併排序法(Merge Sort),以分割-合併(Divide and Conquer)方式執行排序。(5 分)
思路引導 VIP
合併排序法先將陣列不斷對半分割直到每個子陣列長度為1,接著再逐層合併(Merge)。寫出每一次合併(Pass)後的陣列變化即可。
小題 (三)
請建立數列【79 90 8 12 16 69 58 25】之最大堆積(Max Heap),並執行數列堆積排序(Heap Sort),同時寫出建立 Heap、排序執行之過程及數列變化。(15 分)
思路引導 VIP
分為兩個階段:第一階段從最後一個非葉節點開始向上進行 Heapify 以建立 Max Heap;第二階段反覆將根節點(最大值)與末端節點交換,並重新 Heapify 以完成遞增排序。