【BFS宽度优先搜索】
一、求所有顶点到s顶点的最小步数
1 //BFS宽度优先搜索 2 #include<iostream> 3 using namespace std; 4 #include<queue> 5 #define MAX 10000 6 void BFS(int a[5][5],int s,int n)//从(si,sj)出发能到的位置以及距离 7 { 8 int *flag=new int[n];//顶点是否被遍历过,0未遍历,1已入队,2已出队 9 int *dist=new int[n]; 10 int i; 11 for(i=0;i<n;i++) 12 { 13 flag[i]=0;//未被遍历 14 dist[i]=MAX; 15 } 16 dist[s]=0;//到本身的距离为0 17 queue<int> Q; 18 Q.push(s);flag[s]=1;//s入队 19 while(Q.size()) 20 { 21 int tmp=Q.front();Q.pop();//头元素取出 22 for(i=0;i<n;i++) 23 if(a[tmp][i] && !flag[i]) //有边且没遍历 24 { 25 dist[i]=dist[tmp]+1; 26 Q.push(i); 27 flag[i]=1; 28 } 29 } 30 for(i=0;i<n;i++) 31 cout<<dist[i]<<' '<<endl; 32 33 } 34 int main() 35 { 36 int n=5; 37 int a[5][5]={ 38 1,0,1,1,0, 39 0,1,0,1,1, 40 1,0,1,0,0, 41 1,1,0,1,0, 42 0,1,0,0,1};//是否有边,1有边,0无边 43 BFS(a,1,n); 44 return 0; 45 }
转载于:https://www.cnblogs.com/EstherLjy/p/9403967.html
【BFS宽度优先搜索】相关推荐
- 搜索入门之BFS宽度优先搜索
基础搜索入门BFS BFS全称宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型.Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽 ...
- 188. 武士风度的牛 C++ bfs(宽度优先搜索)
农民John有很多牛,他想交易其中一头被Don称为The Knight的牛. 这头牛有一个独一无二的超能力,在农场里像Knight一样地跳(就是我们熟悉的象棋中马的走法). 虽然这头神奇的牛不能跳到树 ...
- 层层递进——宽度优先搜索(BFS)
问题引入 我们接着上次"解救小哈"的问题继续探索,不过这次是用宽度优先搜索(BFS). 注:问题来源可以点击这里 http://www.cnblogs.com/OctoptusLi ...
- BFS(宽度优先搜索、广度优先搜索)
宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型.Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想.其别名又 ...
- 图/树——宽度优先搜索(BFS)
转载 宽度优先搜索(BFS, Breadth First Search)是一个针对图和树的遍历算法.发明于上世纪50年代末60年代初,最初用于解决迷宫最短路径和网络路由等问题. 对于下面的树而言,BF ...
- 广度/宽度优先搜索(BFS)详解
1.前言 广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略.因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名. 一般可以用它做什么呢?一 ...
- 广度优先搜索 - 宽度优先搜索 - 横向优先搜索 (breadth-first search,BFS)
广度优先搜索 - 宽度优先搜索 - 横向优先搜索 (breadth-first search,BFS) 1. 广度优先搜索 - 宽度优先搜索 - 横向优先搜索 (breadth-first searc ...
- (宽度优先搜索)bfs(包含所有模型)
持续更新中(点个赞吧) 首先,我们要了解什么是bfs: 宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型. 其实bfs是盲目的搜索周围,知道搜到目的 ...
- 算法笔记01——深度优先搜索(DFS)/宽度优先搜索(BFS)
深度优先搜索(DFS) 从某个状态开始,不断地转移状态直到无法转移,然后回退到前一步的状态,继续转移到其他状态,如此不断重复,直至找到最终的解.深度优先搜索从最开始的状态出发,遍历所有可以到达的状态. ...
最新文章
- nginx location配置 - ttlsa教程系列之nginx
- SpringAop对struts2的Action设置切面织入时报错java.lang.NoSuchMethodException
- 理解Promise规范
- CentOS5、6的启动流程
- SAP HANA数据库安装
- 从SAP客户主数据里直接创建商机(Opportunity) 1
- deeplung 代码讲解(自己的理解)(我只是稍微贴下数据增强这部分的代码,其它的借鉴wuzeyuan大神的)lung16数据
- 1.nodejs介绍
- 一句话满速下载清华源3.4.1.15版本的opencv和contrib库
- struts框架的原理和应用_分布式开源调度框架TBSchedule原理与应用
- Confluence或JIRA验证码乱码的问题
- 重定向和请求转发后面加“return;”语句
- 子窗口和父窗口交互 (转)
- 三天搭建内容推荐系统——标签挖掘、画像搭建、算法推荐
- 计算机桌面有边框阴影,为什么电脑上的所有显示都会有阴影呢?(桌面图标、对话框等)...
- 如何测试服务器及端口是否畅通?
- Jetty和Tomcat的比较。
- 安卓修改电池容量教程_图吧小白教程 篇三十二:手机拆换原装电池教程——替换寿命将届的原厂电池,提升手机续航...
- STM32配置DAC输出固定电压和方波
- 毛星云opencv--多通道图像混合官方源码
热门文章
- java输出流缓冲区内容清除,Java输入输出流与缓冲区的使用
- 字节Java高工面试:java软件开发工程师的市场薪资
- 【深度学习】医学图像处理之视杯视盘分割调研分析
- 【2021年度训练联盟热身训练赛第二场】Tip to be Palindrome(python)
- linux centos7如何格式化磁盘,Linux CentOS 7 磁盘格式化mke2fs、mkfs.ext4、磁盘挂载及手动增加swap空间...
- 算法与数据结构(面向对象思想)
- 网站未收录的文章该如何解决?
- 1过程流程图 3 apqp_为什么说APQP以最低成本及时提供优质的产品?
- 搭建网络及服务器系统,网络服务器搭建与管理
- centos 如何登陆mysql_[CentOS 0010] CentOS 配置mysql允许远程登录