回溯算法 ------ 回溯算法的设计思想及适用条件

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

这一篇博客要写 回溯算法的设计思想和适用条件。

2.回溯算法的基本思想

什么是系统的方法? 就是我们常用的  深度优先、宽度优先 或者其他的系统的方法,这个方法一定要保证所有的节点都被看到,不一定完全访问到,因为在裁剪的过程中,有的节点被裁剪了,没有完全访问到,但是,被裁剪的部分是保证没有解的,我们已经看过了(不是访问过了)。

 3.宽度与深度优先搜索

4.继续讨论回溯算法的基本思想:

 5.节点的状态

 

6. 回溯算法的适用条件

多米洛性质:  前 k+1 个向量满足约束条件,那么 ,前 k 个向量必然满足约束条件。

7. 一个反例: 

 

8. 最后小结:

 

存储数据结构,一般用 链表就可以做到

原文地址:https://www.cnblogs.com/lixing-nlp/p/7641789.html