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

詳解 (共 2 筆)

#6119153
在給定的四種排序演算法中,插入排序(In...
(共 145 字,隱藏中)
前往觀看
9
0
#6427059

在計算機科學中,遞迴(Recursive)演算法是指函式直接或間接呼叫自身來解決問題。排序演算法中,有些是遞迴的,有些是迭代的(使用迴圈)。

讓我們分析這四種排序演算法:

  1. 插入排序(Insertion Sort)

    • 這是一種簡單的排序演算法,其工作原理是建構最終的排序陣列(或列表),一次一個元素。它遍歷輸入元素,逐一取出元素並在已排序的部分中找到其正確位置並插入。
    • 標準實現是**迭代(Iterative)**的,使用迴圈來完成。
  2. 快速排序(Quick Sort)

    • 這是一種分治法(divide-and-conquer)演算法。它透過選擇一個「樞紐」(pivot)元素來將陣列劃分為兩個子陣列,其中一個子陣列的所有元素都小於樞紐,另一個子陣列的所有元素都大於樞紐。然後,這兩個子陣列會遞迴地進行排序。
    • 這是一種典型的遞迴演算法。
  3. 合併排序(Merge Sort)

    • 這也是一種分治法演算法。它將一個未排序的列表分為 n 個子列表,每個子列表包含一個元素(單一元素的列表被認為是已排序的)。然後,它重複合併子列表以產生新的已排序子列表,直到只剩下一個已排序的列表。
    • 這個「分割」和「合併」的過程都是遞迴地進行的。
  4. 泡沫排序(Bubble Sort)

    • 它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。
    • 這是一種典型的**迭代(Iterative)**演算法,通常使用巢狀迴圈實現。

綜上所述,快速排序(Quick Sort)合併排序(Merge Sort) 是遞迴演算法。

答案是 (C) 2、3

1
0

私人筆記 (共 1 筆)

私人筆記#7795036
未解鎖
經典型遞迴排序 演算法 是否遞...
(共 184 字,隱藏中)
前往觀看
1
0