2011-04-11 53 views
6

我想學習回溯算法。有人可以教我一些嗎?我試圖從一些網站學習,但它沒有奏效。所以有人可以教我。謝謝!學習回溯算法

+0

你明白了多少? – 2011-04-11 12:25:57

+0

我不明白了很多=( – 2011-04-11 12:28:14

回答

6

雖然語言無關,this教程是很好的,並提出了幾個例子,可能提供必要的直覺。

也就是說,後面回溯的想法並不難把握都沒有。甲回溯算法基本上探索所有解空間只是進行蠻力,除了像時(並且這使得更有效)它從部分溶液儘快回溯,因爲它認識到它是不可行的。

一個例子

考慮爲衆所周知eight queens problem此部分解決方案。

enter image description here

在第一四列王后已經被定位,但最後一個是一個無效的廣場。蠻力解決方案將繼續爲其餘的列放置皇后,而忽視這樣一個事實,即不管這種局部解決方案如何增強,結果將是無效的。

回溯算法將是「聰明」:將實現第四女王被錯誤地放置和「返回」到考慮其他的廣場吧。

+1

您鏈接的示例現在已經消失 – 2017-11-28 15:13:42

4

Fundamentals Of Computer Algorithms包含回溯一個不錯的篇章。但是你沒有指定你對正式的算法文本和數據結構有多熟悉。如果您不熟悉複雜性分析等基本算法或不知道樹是什麼,那麼在閱讀本書時可能會遇到一些問題。我的意思是在這種情況下,你需要從頭開始閱讀本書,直接跳到回溯章節不會有太大的幫助。

+0

你會擁有一個電子書複製或你會知道從哪裏得到的電子書? – 2011-04-11 12:56:03

+5

請谷歌爲這一點。我不打算在這裏發表,即使我知道,因爲這是違反版權 – taskinoor 2011-04-11 13:22:23