BFS
Lilyan_blog
这个作者很懒,什么都没留下…
展开
-
BFS广度优先搜索入门
1.BFS简介:2.BFS与DFS的区别:3.实现BFS的准备:最常用的BFS的模板如下:void bfs(起始点) { 将起始点放入队列中; 标记起点访问; while (如果队列不为空) { 访问队列中队首元素x; 删除队首元素; for (x 所有相邻点) { if (该点未被访问...原创 2019-02-06 15:35:47 · 427 阅读 · 0 评论 -
迷宫问题——BFS实现
1.问题简介:迷宫问题是学习搜索入门很好的一个经典问题,比如给定一个迷宫,给定起点并且给定终点,让你求出起点到终点的最短步数。比如2.算法分析:先比较一下dfs和bfs的区别,dfs会比较慢,为什么呢,因为dfs会先从某一行和某一列进行搜索,搜索到底部,而之前也介绍过bfs是一层一层的进行扩散,就是将这个点的能走到的点都访问。为什么bfs在求最短路的时候快一些呢,因为它是层层扩散,找到的...原创 2019-02-06 18:12:09 · 1724 阅读 · 0 评论 -
01联通块求解——bfs
##1.问题描述:##2.算法分析:其实这道题目就是一个让我们求出一共有多少个联通块问题;首先我们要理解怎样才算是联通块,比如单个的1四周被0包围,算作联通块,或者1连着的1两个1算作一个联通块,只要1的上下左右任一个方向存在1都算作一个联通块,比如样例一:大概就这么个意思。那么我们该怎么做了,比较容易就想到搜索了,我们枚举每一个位置的元素,如果为0,则跳过,如果为1开始搜索。(...原创 2019-04-14 22:08:13 · 816 阅读 · 0 评论 -
图的遍历——dfs OR bfs
1.什么是图的遍历?从图的某一个顶点出发,沿图中的路径依次访问图中的所有顶点,并且使得图中所有顶点都恰好被访问一次,这一过程即为图的遍历。注意:这里讨论的图特指连通图上进行遍历。2.图的遍历——dfs(深度优先搜索)简介:开始我们假设图上所有的顶点都未被访问,选择图中任一顶点,开始执行以下操作:1.访问当前顶点v,并将该顶点标记为已访问。2.遍历与顶点v相邻的所有顶点c,然后对顶点v所...原创 2019-04-30 20:00:27 · 406 阅读 · 0 评论