阿摩線上測驗 登入

申論題資訊

試卷:104年 - 104年地方四等-程式設計概要#35322
科目:程式設計
年份:104年
排序:0

題組內容

一、請試述下列名詞之意涵:(每小題 4 分,共 24 分)

申論題內容

⑵ Merge Sort

詳解 (共 3 筆)

詳解 提供者:Sin Cai
合併排序法(歸併排序法),是排序演算法的一種
詳解 提供者:hchungw
歸併排序(Merge Sort)是一種高效的、基於比較的、分而治之的排序演算法。它的基本思想是將一個大數組分成兩個較小的數組去解決,然後遞歸地對這兩個小數組應用歸併排序,最後將排序好的兩個小數組合並成一個大的有序數組。
歸併排序的步驟:
.分割:將當前數組分成兩個大小大致相等的子數組,直到每個子數組只有一個元素或為空,因為單個元素自然是有序的。
.征服:遞歸地對兩個子數組應用歸併排序,直到子數組完全有序。
.合併:將兩個有序的子數組合並成一個有序的數組。
特性:
穩定性:歸併排序是一種穩定的排序演算法,即相等的元素之間的相對順序在排序後不會改變。
非就地排序:在合併過程中需要額外的存儲空間來暫存數組,因此歸併排序不是就地排序演算法。
時間複雜度:歸併排序的時間複雜度為O(nlogn),其中n是數組的長度。這個時間複雜度在最壞、平均和最好情況下都保持不變。
空間複雜度:由於需要額外的數組來合併兩個子數組,歸併排序的空間複雜度為O(n)。
詳解 提供者:牛奶鍋
Merge Sort把問題先拆解(divide)成子問題,並在逐一處理子問題後,將子問題的結果合併(conquer),如此便解決了原先的問題。