1. 程式人生 > >回溯算法 ------回溯算法的設計思想和適用條件

回溯算法 ------回溯算法的設計思想和適用條件

ron -128 不一定 節點 寬度 搜索 優先 基本思想 方法

在上一篇博客(http://www.cnblogs.com/lixing-nlp/p/7641460.html)中,介紹了三個關於回溯算法的例子

這一篇博客要寫 回溯算法的設計思想和適用條件。

技術分享

2.回溯算法的基本思想

技術分享

什麽是系統的方法? 就是我們常用的 深度優先、寬度優先 或者其他的系統的方法,這個方法一定要保證所有的節點都被看到,不一定完全訪問到,因為在裁剪的過程中,有的節點被裁剪了,沒有完全訪問到,但是,被裁剪的部分是保證沒有解的,我們已經看過了(不是訪問過了)。

3.寬度與深度優先搜索

技術分享

4.繼續討論回溯算法的基本思想:

技術分享

5.節點的狀態

技術分享

6. 回溯算法的適用條件

技術分享

多米洛性質: 前 k+1 個向量滿足約束條件,那麽 ,前 k 個向量必然滿足約束條件。

7. 一個反例:

技術分享

8. 最後小結:

技術分享

技術分享

存儲數據結構,一般用 鏈表就可以做到

回溯算法 ------回溯算法的設計思想和適用條件