演算法設計有很多方法,以下是我蒐集的一些資料如:
1、蠻力法
蠻力法(brute force method)也稱為窮舉法,是一種簡而直接地解決問題的方法。所依賴的基本技術是掃瞄技術:即採用一定的策略將待求解的問題的所有元素依次處理一次,從而找出問題的解。依次處理所有元素是蠻力法的關鍵,為了避免陷入重複試探,應保證處理過的元素不再被處理。在基本的資料結構中,依次處理每乙個元素的方法是遍歷。
2、分治法
有很多演算法在結構上是遞迴的:為了解決乙個給定的問題,演算法要一次或多次地遞迴呼叫其自身來解決相關的子問題。這些演算法通常採用分治策略:將原問題劃分成n個規模較小而結構與原問題相似的子問題;遞迴地解決這些子問題,然後再合併其結果,就得到原問題的解。
分治模式在每一層遞迴上都有三個步驟:
分解(divide):將原問題分解為一系列子問題;
解決(conquer):遞迴的解決各子問題。若子問題足夠小,則直接求解;
合併(combine):將子問題的結果合併成原問題的解。
演算法設計方法扼要補充
在演算法設計方法知識框圖和典型演算法演算法設計技術中對迭代法 窮舉搜尋法 遞推法 遞迴法 貪婪發和回溯法有所掌握了,但由於分治法 動態規劃法和分支限界法 對比回溯法 存在相似並且通常會結合遞迴等設計方法來使用,尚不能分的很清,在此做簡短描述,還需要通過這些運用方法的題型來理解。迭代法,所謂迭代就是更...
演算法 一些演算法設計方法
一 口訣 廣列深歸,分分貪動回 二 含義 廣度優先一般使用佇列實現,深度優先一般使用遞迴實現。分治法,分支定界法,貪婪演算法,動態規劃,回溯法 分治法 一分為二 貪婪演算法 不斷嘗試 動態規劃 遞迴不重複 回溯法 深度優先 分支定界 廣度優先 三 分治法 分而治之方法與軟體設計的模組化方法非常相似。...
常用演算法設計方法 四 遞迴
遞迴是設計和描述演算法的一種有力的工具,由於它在複雜演算法的描述中被經常採用,為此在進一步介紹其他演算法設計方法之前先討論它。能採用遞迴描述的演算法通常有這樣的特徵 為求解規模為n的問題,設法將它分解成規模較小的問題,然後從這些小問題的解方便地構造出大問題的解,並且這些規模較小的問題也能採用同樣的分...