搜索总结

来源:互联网 发布:c专家编程读书笔记 编辑:程序博客网 时间:2024/05/16 14:22

搜索总结

广度搜索是对问题的逐层搜索,对于每一种问题的情况,得到其符合题目要求的情形,加入到队列中,直到找到最短的路径。对于广搜而言,无疑它是寻找最短路径的很好的办法。

而深度优先搜索,是在一种可能的情况下,不断的在该情形下,往下一种情况进行搜索,如果不符合题意,就返回上一层节点,深搜可以在较短时间内找到问题的解,不过对于深搜而言,因为它是不断地往下层节点搜索,然后退回到上层节点,这样就使得问题变得十分抽象,在对于问题的思考和理解上增加了很多的难度。

在搜索的专题中,对于前面的1001 Can you solve this equation?,1002 Strange fuction等 问题,用到了二分、三分的方法,这样的题目,找到两端点,还是比较模式化的。

当然搜索最难的还是深搜,深度优先搜索的算法需要对递归有一定的认识,重要的思想就是:抽象!

可以从DFS函数里边看到,DFS里边永远只处理当前状态节点n,而不去关注它的下一个状态。它通过把DFS方法抽象,整个逻辑就变得十分的清晰,这就是递归之美。只有更多的去练习,学习深搜,才会对面对的问题有清晰的认识,做题才会有更广阔的思路!

0 0
原创粉丝点击