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

Posted JoeLee2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回溯算法 ------ 回溯算法的设计思想及适用条件相关的知识,希望对你有一定的参考价值。

 

 

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

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

 

2.回溯算法的基本思想

 

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

 

 

 3.宽度与深度优先搜索

 

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

 

 5.节点的状态

 

6. 回溯算法的适用条件

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

7. 一个反例: 

 

8. 最后小结:

 

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

 

以上是关于回溯算法 ------ 回溯算法的设计思想及适用条件的主要内容,如果未能解决你的问题,请参考以下文章

回溯法 - 数据结构与算法

Pascal算法之回溯及递推详细介绍、

回溯算法思想回溯算法解题模板与回溯算法题目索引(不断更新)

回溯算法及题目

Bellman-Ford算法的适用条件&范围

算法研讨会-含有回溯的递归算法设计探讨