71. 以下演算法為何種演算法?
(A)深度優先搜尋
(B)線性搜尋
(C)廣度優先搜尋
(D)二元搜尋
統計: A(50), B(10), C(29), D(8), E(0) #3120484
詳解 (共 2 筆)
根據我找到的資訊,演算法描述如下:
Mark the current vertex, u, visited and enter it in the discovery order list for each vertex, v, adjacent to the current vertex, u if v has not been visited Set parent of v to u. Recursively apply this algorithm starting at v. Mark u finished and enter u into the finish order list.
這段演算法的描述是深度優先搜尋 (Depth-First Search, DFS) 的典型步驟。
其關鍵特徵在於:
-
遞迴應用 (Recursively apply):當發現一個未訪問的相鄰頂點 v 時,演算法會立即遞迴地從 v 開始應用自身。這意味著它會盡可能深地探索一個分支,直到無法再深入為止,然後才會回溯。
-
探索順序 (discovery order list) 和完成順序 (finish order list):DFS 會記錄節點的「發現時間」和「完成時間」,這也是 DFS 的特性。
-
(A) 深度優先搜尋 (Depth-First Search):符合上述所有特徵。
-
(B) 線性搜尋 (Linear Search):用於在列表中逐一查找元素,與圖遍歷無關。
-
(C) 廣度優先搜尋 (Breadth-First Search):通常使用佇列 (queue) 實現,逐層探索節點,而不是遞迴深入。
-
(D) 二元搜尋 (Binary Search):用於在有序列表中快速查找元素,與圖遍歷無關。