剪枝优化
剪枝 ,减小搜索树 的规模,尽早地排除搜索树中不必要地分支地一种手段,形象地看,就好比剪掉了树地枝条,所以取名为剪枝,剪枝在深搜里有一下的方法
1.优化搜索顺序
在一些搜索问题中,搜索树的各个层次各个分支之间的顺序是不固定的,不同的顺序会产生不同的形态,大小也会差很远,所以我们可以调解顺序
2.排除等效冗余
这种方法就是不做多余的选择,只对那些有用的分支进行递归
3.可先行性
这个方法的意思就是我们及时进行一个检查,如果发现达到不了边界,及时回溯,结束这次递归,就好比我们走着路,如果远远的就看见前面是一个死胡同了,直接往回走
4.最优性
就是指当前已经没有之前的答案好了,无论接下来怎么走都不会更新答案了,与可先行性有点像
5.记忆化
记录搜索结果,就好像用 节点判断是否标记一样