45. 什麼是「貪婪演算法」?
(A)一種將問題分解成更小的子問題,然後解決子問題並合併結果的演算法
(B)一種基於回溯法的演算法
(C)一種將數據按特定順序重新排列的演算法
(D)一種基於當前最佳選擇的策略來解決問題的演算法
答案:登入後查看
統計: A(22), B(8), C(4), D(60), E(0) #3131062
統計: A(22), B(8), C(4), D(60), E(0) #3131062
詳解 (共 2 筆)
#6423757
「貪婪演算法」(Greedy Algorithm)是一種在每一步都做出當前看起來是最佳選擇(局部最優解)的演算法。它不考慮未來的後果,也不會回溯到之前的決策,而是希望透過一系列的局部最優選擇,能夠導向一個整體最優解。
讓我們分析各選項:
- (A) 一種將問題分解成更小的子問題,然後解決子問題並合併結果的演算法:這描述的是分治演算法 (Divide and Conquer) 的特性,例如快速排序或合併排序。
- (B) 一種基於回溯法的演算法:這描述的是回溯演算法 (Backtracking) 的特性,它在解決問題時會嘗試所有可能的路徑,並在發現無效路徑時回溯。
- (C) 一種將數據按特定順序重新排列的演算法:這描述的是排序演算法 (Sorting Algorithm) 的特性。
- (D) 一種基於當前最佳選擇的策略來解決問題的演算法:這正是貪婪演算法的核心思想。它在每一步都選擇當前看起來最好的選項,而不考慮這個選擇對未來步驟的影響。
因此,最能描述貪婪演算法的是 (D)。
1
0