一、求所有顶点到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宽度优先搜索】相关推荐

  1. 搜索入门之BFS宽度优先搜索

    基础搜索入门BFS BFS全称宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型.Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽 ...

  2. 188. 武士风度的牛 C++ bfs(宽度优先搜索)

    农民John有很多牛,他想交易其中一头被Don称为The Knight的牛. 这头牛有一个独一无二的超能力,在农场里像Knight一样地跳(就是我们熟悉的象棋中马的走法). 虽然这头神奇的牛不能跳到树 ...

  3. 层层递进——宽度优先搜索(BFS)

    问题引入 我们接着上次"解救小哈"的问题继续探索,不过这次是用宽度优先搜索(BFS). 注:问题来源可以点击这里 http://www.cnblogs.com/OctoptusLi ...

  4. BFS(宽度优先搜索、广度优先搜索)

    宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型.Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想.其别名又 ...

  5. 图/树——宽度优先搜索(BFS)

    转载 宽度优先搜索(BFS, Breadth First Search)是一个针对图和树的遍历算法.发明于上世纪50年代末60年代初,最初用于解决迷宫最短路径和网络路由等问题. 对于下面的树而言,BF ...

  6. 广度/宽度优先搜索(BFS)详解

    1.前言 广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略.因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名. 一般可以用它做什么呢?一 ...

  7. 广度优先搜索 - 宽度优先搜索 - 横向优先搜索 (breadth-first search,BFS)

    广度优先搜索 - 宽度优先搜索 - 横向优先搜索 (breadth-first search,BFS) 1. 广度优先搜索 - 宽度优先搜索 - 横向优先搜索 (breadth-first searc ...

  8. (宽度优先搜索)bfs(包含所有模型)

    持续更新中(点个赞吧) 首先,我们要了解什么是bfs: 宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型. 其实bfs是盲目的搜索周围,知道搜到目的 ...

  9. 算法笔记01——深度优先搜索(DFS)/宽度优先搜索(BFS)

    深度优先搜索(DFS) 从某个状态开始,不断地转移状态直到无法转移,然后回退到前一步的状态,继续转移到其他状态,如此不断重复,直至找到最终的解.深度优先搜索从最开始的状态出发,遍历所有可以到达的状态. ...

最新文章

  1. nginx location配置 - ttlsa教程系列之nginx
  2. SpringAop对struts2的Action设置切面织入时报错java.lang.NoSuchMethodException
  3. 理解Promise规范
  4. CentOS5、6的启动流程
  5. SAP HANA数据库安装
  6. 从SAP客户主数据里直接创建商机(Opportunity) 1
  7. deeplung 代码讲解(自己的理解)(我只是稍微贴下数据增强这部分的代码,其它的借鉴wuzeyuan大神的)lung16数据
  8. 1.nodejs介绍
  9. 一句话满速下载清华源3.4.1.15版本的opencv和contrib库
  10. struts框架的原理和应用_分布式开源调度框架TBSchedule原理与应用
  11. Confluence或JIRA验证码乱码的问题
  12. 重定向和请求转发后面加“return;”语句
  13. 子窗口和父窗口交互 (转)
  14. 三天搭建内容推荐系统——标签挖掘、画像搭建、算法推荐
  15. 计算机桌面有边框阴影,为什么电脑上的所有显示都会有阴影呢?(桌面图标、对话框等)...
  16. 如何测试服务器及端口是否畅通?
  17. Jetty和Tomcat的比较。
  18. 安卓修改电池容量教程_图吧小白教程 篇三十二:手机拆换原装电池教程——替换寿命将届的原厂电池,提升手机续航...
  19. STM32配置DAC输出固定电压和方波
  20. 毛星云opencv--多通道图像混合官方源码

热门文章

  1. java输出流缓冲区内容清除,Java输入输出流与缓冲区的使用
  2. 字节Java高工面试:java软件开发工程师的市场薪资
  3. 【深度学习】医学图像处理之视杯视盘分割调研分析
  4. 【2021年度训练联盟热身训练赛第二场】Tip to be Palindrome(python)
  5. linux centos7如何格式化磁盘,Linux CentOS 7 磁盘格式化mke2fs、mkfs.ext4、磁盘挂载及手动增加swap空间...
  6. 算法与数据结构(面向对象思想)
  7. 网站未收录的文章该如何解决?
  8. 1过程流程图 3 apqp_为什么说APQP以最低成本及时提供优质的产品?
  9. 搭建网络及服务器系统,网络服务器搭建与管理
  10. centos 如何登陆mysql_[CentOS 0010] CentOS 配置mysql允许远程登录