1. 下列四種排序法(1)Insertion Sort (2)Quick sort (3)Merge Sort (4)Bubble Sort,
哪些是遞迴式(Recursive)的演算法?
(A) 1、2
(B) 1、4
(C) 2、3
(D) 3、4
答案:登入後查看
統計: A(0), B(1), C(6), D(1), E(0) #3829219
統計: A(0), B(1), C(6), D(1), E(0) #3829219
詳解 (共 1 筆)
#7370190
屬於遞迴式(Recursive)演算法的有:
-
(2) Quick Sort (快速排序)
-
(3) Merge Sort (合併排序)
詳細說明
1. Quick Sort (快速排序)
快速排序採用分治法 (Divide and Conquer)。它的遞迴邏輯如下:
-
從數列中挑選一個基準值 (Pivot)。
-
將數列分為兩部分:比基準值小的在左邊,比基準值大的在右邊。
-
遞迴地對左右兩個子數列進行同樣的操作,直到子數列的大小為 0 或 1。
2. Merge Sort (合併排序)
合併排序同樣是典型的分治法應用:
-
將目前的數列從中間切半,分成兩個子數列。
-
遞迴地對這兩個子數列進行切分,直到每個子數列只剩下一個元素。
-
最後將這些排序好的子數列兩兩合併 (Merge),最終完成排序。
3. Insertion Sort (插入排序) 與 Bubble Sort (泡沫排序)
這兩種演算法通常使用疊代(Iterative,即迴圈)的方式實作:
-
Insertion Sort:透過逐一將未排序的元素插入到已排序部分的正確位置。
-
Bubble Sort:透過重複交換相鄰且順序錯誤的元素,讓最大值像氣泡一樣逐漸「浮」到末端。
-
註:雖然這兩者也可以改寫成遞迴版本,但在標準定義與教學實務中,它們被歸類為非遞迴的疊代演算法。
總結表
| 排序法 | 演算法類型 | 常用實作方式 |
| Insertion Sort | 比較排序 | 疊代 (Iterative) |
| Quick Sort | 分治法 | 遞迴 (Recursive) |
| Merge Sort | 分治法 | 遞迴 (Recursive) |
| Bubble Sort | 比較排序 | 疊代 (Iterative) |
0
0