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

分治演算法特點

發布時間: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個為假幣!!

閱讀全文

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

熱點內容
音頻採集單片機 瀏覽:590
加密管的優點 瀏覽:280
dock基礎命令 瀏覽:345
java編程愛好者 瀏覽:723
做外包程序員怎麼樣 瀏覽:865
程序員技術門檻 瀏覽:473
路由花生殼搭建web伺服器地址 瀏覽:541
小米傳送文件用什麼app 瀏覽:102
哪個領域演算法好 瀏覽:380
用命令行編譯java 瀏覽:677
筆趣閣app哪個是正版手機app 瀏覽:427
程序員這個工作好嗎 瀏覽:898
agps定位伺服器地址 瀏覽:659
用水做的解壓玩具怎麼做 瀏覽:418
安卓411能下載什麼 瀏覽:304
小海龜logo命令 瀏覽:493
java製作界面 瀏覽:895
台達plc編程電纜製作 瀏覽:249
30多歲當程序員 瀏覽:442
怎樣把表格轉換成pdf 瀏覽:514