宽度优先搜索与深度优先搜索
宽度优先搜索算法顺序:1-2-3-4-5-6-7
深度优先搜索算法顺序:1-2-4-5-3-6-7
宽度优先搜索算法(又称广度优先搜索)BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。
structNode
{
intx;
inty;
intstep;
Node(intx1,inty1,intstep1):x(x1),y(y1),step(step1){}
};
intBFS()
{
Nodenode(0,0,0);
queue<Node>q;
while(!q.empty())q.pop();
q.push(node);
while(!q.empty())
{
node=q.front();
q.pop();
if(node.x==n-1&&node.y==n-1)
{
returnnode.step;
}
visit[node.x][node.y]=1;
for(inti=0;i<4;i++)
{
intx=node.x+stepArr[i][0];
inty=node.y+stepArr[i][1];
if(x>=0&&y>=0&&x<n&&y<n&&visit[x][y]==0&&mazeArr[x][y]==0)
{
visit[x][y]=1;
Nodenext(x,y,node.step+1);
q.push(next);
}
}
}
return-1;
}
与深度优先搜索的对比
宽度优先搜索与深度优先搜索相关推荐
- 算法导论--广度优先搜索和深度优先搜索
广度优先搜索 在给定图G=(V,E)和一个特定的源顶点s的情况下,广度优先搜索系统地探索G中的边,以期"发现"可从s 到达的所有顶点,并计算s 到所有这些可达顶点之间的距离(即最少 ...
- 基于A*搜索和深度优先搜索解迷宫问题
摘 要 迷宫问题是指能够从起始点寻找一条通往目标点的路径,迷宫的传统搜索是采用深度优先和宽度优先搜索,虽然也能够解决迷宫的求解问题,但是这些方法效率比较低.我们已经知道深度优先和广度优先搜索归于为盲目 ...
- 广度优先搜索与深度优先搜索
广度优先搜索(宽度优先搜索,BFS)和深度优先搜索(DFS)算法的应用非常广泛,本篇文章主要介绍BFS与DFS的原理.实现和应用. 深度优先搜索 图的深度优先搜索(Depth First Search ...
- AI(人工智能:一种现代的方法)学习之:无信息搜索(uninformed search)算法——广度优先搜索、深度优先搜索、Uniform-cost search
文章目录 参考 搜索算法 深度优先搜索 depth-first search 性能分析 完整性 complete 最优性 optimal 时间复杂度 空间复杂度 广度优先搜索 breadth-firs ...
- 广度优先搜索_深度优先搜索和广度优先搜索[09]
搜索与遍历 绝大多数搜索的处理叫暴力搜索,或者说比较简单朴素的搜索.如果数据结构本身没有任何特点,很普通的树或者图,我们要做的一件事就是把所有节点都遍历一次. 每个节点都要访问一次 每个节点仅仅要访问 ...
- 八数码深度优先搜索_深度优先搜索和广度优先搜索
深度优先搜索和广度优先搜索 关于搜索&遍历 对于搜索来说,我们绝大多数情况下处理的都是叫 "所谓的暴力搜索" ,或者是说比较简单朴素的搜索,也就是说你在搜索的时候没有任何所 ...
- 深度优先搜索和深度优先搜索的区别
一)深度优先搜索的特点是: (1)无论问题的内容和性质以及求解要求如何不同,它们的程序结构都是相同的,即都是深度优先算法(一)和深度优先算法(二)中描述的算法结构,不相同的仅仅是存储结点数据结构和产生 ...
- 根据邻接表求深度优先搜索和广度优先搜索_深度优先搜索/广度优先搜索与java的实现...
度:某个顶点的度就是依附于该顶点的边的个数 子图:一幅图中所有边(包含依附边的顶点)的子集 路径:是由边顺序连接的一系列定点组成 环:至少含有一条边且终点和起点相同的路径 连通图:如果图中任一个到另一 ...
- (四)万能的搜索 —— 1. 深度优先搜索
1. 深度优先搜索 问题:输入一个数n,输出1~n的全排列. 举个例子,假如有编号为1.2.3的3张扑克牌和编号为1.2.3的3个盒子. 现在需要将这3张扑克牌分别放到3个盒子里面,并且每个盒子有且只 ...
最新文章
- WhyGL:一套学习OpenGL的框架,及翻写Nehe的OpenGL教程
- 利用中断在 ESP32 MicroPython 程序中读取AM2302
- 批量关闭电脑有害端口方法
- 遗传算法求最短路径(旅行商问题)python实现
- 网络安全-配置dns服务器
- 二面蚂蚁金服(交叉面),已拿offer,Java岗定级阿里P6
- db2存储结构换Oracle,DB2中实现Oracle的功能
- 378. 有序矩阵中第K小的元素
- chinese-ocr自然场景下不定长文字识别(ctpn + densenet)
- hbase使用restful接口进行数据操作
- 消息队列中点对点与发布订阅区别(good)
- ps里面的css,PS中如何添加图层样式
- 计算机名字好听的,好听的昵称大全
- js数字金额转大写,javaScript数字金额转大写。
- 下载歌曲的时候嫌麻烦?打造专属你的音乐下载器
- 必做: 1041、1024、1077、2218、1183(较难)
- RadioButton 只读
- 趣图:没想到 CSS 深灰色是这样的
- 96-centos安装postgresql
- ros 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。