搜索算法
Liukairui
这个作者很懒,什么都没留下…
展开
-
搜索算法1-递归
递归 递归定义: 你要了解递归,你要先了解递归 还不会? 那么我就说清楚一点:请参见这个博客正文第五行的定义:传送门 好了,明白了就不要再递归下去了,这只会增加我博客的访问量。。。其实递归就是自己调用自己 噢,也许这次你明白了,原来递归就是“自己用到自己”的意思。这个定义显然比上一个 要好些,因为当你终于悟出其中的道理后,就不必继续“参见”下去了。事实上,递归的含义 ...原创 2018-04-05 23:21:06 · 280 阅读 · 0 评论 -
搜索算法2-深度优先搜索(DFS)
深度优先搜索(DFS) 说白了就是不撞南墙不回头,一条路走到黑,就是是把所有的可行方案列举出来,不断去试探,直到找到问题的解,其过程是对每一个可能的分支路径深入到不能再深入为止,而且每个顶点只能访问一次。 举个栗子: 对于无向图进行DFS,我们从A点开始深度优先搜索(注意:访问次序并不是唯一的,第二个点既可以是B也可以是C、D),我们可以得到如下的一个访问过程:A-> B->E ...原创 2018-04-06 23:08:42 · 374 阅读 · 0 评论 -
搜索算法3-广度优先搜索(BFS)
广度优先搜索(BFS) BFS会优先搜索会先搜索到与起始点距离较近的点,而深搜却是沿着一个分支递归到最后。就像是石子掉到水中的水波纹一样扩展开来 举个栗子: 对上图进行深搜按照顶点访问顺序会得到序列:A−B−E−F−C−D−G 对上图进行广搜按照顶点访问顺序会得到序列:A−B−C−D−E−F−G 一般应用:最优解,最小XX 算法思路: 使用队列(queue)来实现: 1. ...原创 2018-04-06 23:20:43 · 309 阅读 · 0 评论