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(7), B(10), C(44), D(8), E(0) #3246956
統計: A(7), B(10), C(44), D(8), E(0) #3246956
詳解 (共 2 筆)
#6427059
在計算機科學中,遞迴(Recursive)演算法是指函式直接或間接呼叫自身來解決問題。排序演算法中,有些是遞迴的,有些是迭代的(使用迴圈)。
讓我們分析這四種排序演算法:
-
插入排序(Insertion Sort):
- 這是一種簡單的排序演算法,其工作原理是建構最終的排序陣列(或列表),一次一個元素。它遍歷輸入元素,逐一取出元素並在已排序的部分中找到其正確位置並插入。
- 標準實現是**迭代(Iterative)**的,使用迴圈來完成。
-
快速排序(Quick Sort):
- 這是一種分治法(divide-and-conquer)演算法。它透過選擇一個「樞紐」(pivot)元素來將陣列劃分為兩個子陣列,其中一個子陣列的所有元素都小於樞紐,另一個子陣列的所有元素都大於樞紐。然後,這兩個子陣列會遞迴地進行排序。
- 這是一種典型的遞迴演算法。
-
合併排序(Merge Sort):
- 這也是一種分治法演算法。它將一個未排序的列表分為 n 個子列表,每個子列表包含一個元素(單一元素的列表被認為是已排序的)。然後,它重複合併子列表以產生新的已排序子列表,直到只剩下一個已排序的列表。
- 這個「分割」和「合併」的過程都是遞迴地進行的。
-
泡沫排序(Bubble Sort):
- 它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。
- 這是一種典型的**迭代(Iterative)**演算法,通常使用巢狀迴圈實現。
綜上所述,快速排序(Quick Sort) 和 合併排序(Merge Sort) 是遞迴演算法。
答案是 (C) 2、3
1
0