導航:首頁 > 源碼編譯 > 分治演算法特點

分治演算法特點

發布時間:2024-03-19 11:30:20

演算法設計與分析|5個演算法

1)分治法

對於一個規模為n的問題,若該問題可以容易地解決(比如說規模n較小),則直接解決;否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞歸地解這些子問題,然後將各子問題的解合並得到原問題的解。

2)回溯法(深度優先)

回溯法是一種選優搜索法,按選優條件向前搜索,以達到目標。但當搜索到某一步時,發現原先選擇並不優或達不到目標,就退回一步重新選擇。這種走不通就退回再走的技術就是回溯法。

3)貪心法

總是做出在當前來說是最好的選擇,而並不從整體上加以考慮,它所做的每步選擇只是當前步驟的局部最優選擇,但從整體來說不一定是最優的選擇。由於它不必為了尋找最優解而窮盡所有可能解,因此其耗費時間少,一般可以快速得到滿意的解,但得不到最優解。

4)動態規劃法

在求解問題中,對於每一步決策,列出各種可能的局部解,再依據某種判定條件,舍棄哪些肯定不能得到最優解的局部解,在每一步都經過篩選,以每一判瞎步都是最優解來保證全局是最優解。

5)分支限界法(廣度優先)

分治演算法求出的子問題是互相獨立的。

動態規劃演算法具有最優子結構性質和重疊子問題性質。

貪心演算法不追求最優解,只求可森早行解,因此不具備最優子結構的特性。

回溯演算法把問題的解空間轉化成圖或者樹結構,然後使用深度優先搜索策略進行遍歷,遍歷的過程中記錄和尋找所有可此沖雀行解或者最優解。

分支限界演算法類似於回溯演算法,它以廣度優先方式搜索解空間樹。

㈡ 最通俗、簡單的分治演算法思想

分治演算法的基本思想是將一個計算復雜的問題分為規模較小,計算簡單的小問題求解 ,然後綜合各個小問題,而得到最終問題的答案。分治演算法的執行過程如下:
♦對於一個規模為N的問題,若該問題可以容易地解決(比如說規模N較小),則直接解決,否則執行下面的步驟。
♦將該分解為M個規模較小的子問題,這些子問題互相獨立,並且與原問題形式相同。
♦遞歸地解這些子問題。
♦然後,將各子問題的解合並得到原問題的解。

問:一個袋子里有30個硬幣,其中一枚是假幣,並且假幣和真幣一模一樣,肉眼很難分辨,目前只知道假幣比真幣重量輕一點。請問如何區分出假幣呢? 可以採用遞歸分治的思想來求解這個問題:
♦首先為每個銀幣編號,然後可以將所有的銀幣等分為兩分,放在天平的兩邊。這樣就將區分30個硬幣的問題,變為區別兩堆硬幣的問題。
♦因為假銀幣的分量較輕,因此天平較輕的一側中一定包含假銀幣。
♦再將較輕的一側中的硬銀幣等分為兩分,重復上述的做法。鄭念絕
♦直到剩下2枚高拆硬銀幣,可用天平直接找出假銀幣來。

運行結果
分治喊姿演算法求解假的銀幣問題!
請輸入硬幣的數量:13
請輸入每個硬幣的質量:
第1個:2
第2個:2
第3個:2
第4個:2
第5個:2
第6個:2
第7個:2
第8個:2
第9個:2
第10個:1
第11個:2
第12個:2
第13個:2
第10個為假幣!!

閱讀全文

與分治演算法特點相關的資料

熱點內容
android強制系統橫屏 瀏覽:280
怎麼提前看未播出的電視劇app 瀏覽:664
cad轉pdf圖層 瀏覽:600
程序員接私活初級 瀏覽:433
全無油潤滑壓縮機 瀏覽:185
代碼加密常用方法 瀏覽:952
安卓手機如何解除已禁用 瀏覽:396
演算法的隨機性 瀏覽:486
高中解壓體育游戲 瀏覽:533
androidstudior丟失 瀏覽:345
命令行筆記 瀏覽:738
360目標文件夾訪問拒絕 瀏覽:519
3b編程加工指令 瀏覽:789
c8051f系列單片機選型手冊 瀏覽:773
南昌php程序員 瀏覽:513
bcs命令 瀏覽:447
如何在伺服器指向域名 瀏覽:417
車床編程可以做刀嗎 瀏覽:519
ln命令源碼 瀏覽:793
用粘液做解壓手套 瀏覽:331