输入:n个顶点,m条边。

接下来输入每一条边的两个顶点。

输出遍历的顺序

#include<iostream>
#include<queue>
bool book[];//bool mark[100];
int t[][];//int ljjz[500][500];
using namespace std;
int n,m; int main()
{
int x,y;
int u;
cin>>n>>m;
for(int i=;i<m;i++){
cin>>x>>y;
t[x][y]=t[y][x]=;
}
queue<int>q;
q.push();//将一号顶点压入队列
book[]=true;//标记一号顶点已被访问
cout<<<<endl;//输出访问的顶点
while(!q.empty()){//当队列不为空进行循环
u=q.front();//u是队首元素
for(int i=;i<=n;i++){//遍历每一个顶点
if(!book[i]&&t[u][i]){//如果该顶点与当前顶点u之间有边且未被访问过
cout<<i<<endl;//输出访问到的顶点
book[i]=;//标记它已经被访问过了
q.push(i);//将此点推入队列
}
}
q.pop();//顶点u出队
}
}

初级BFS的更多相关文章

  1. [ACM训练] 算法初级 之 搜索算法 之 广度优先算法BFS (POJ 3278+1426+3126+3087+3414)

    BFS算法与树的层次遍历很像,具有明显的层次性,一般都是使用队列来实现的!!! 常用步骤: 1.设置访问标记int visited[N],要覆盖所有的可能访问数据个数,这里设置成int而不是bool, ...

  2. BFS实现8数码问题,思考与总结

    BFS实现8数码问题,思考与总结 今天中午学习了二叉树的线索化与线索化遍历,突然有一种想实现八数码问题的冲动,因为它的初级解决方式是BFS(广度优先搜索算法).于是我开始编程. 没想到一编就是一个下午 ...

  3. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

  4. 图的遍历(搜索)算法(深度优先算法DFS和广度优先算法BFS)

    图的遍历的定义: 从图的某个顶点出发访问遍图中所有顶点,且每个顶点仅被访问一次.(连通图与非连通图) 深度优先遍历(DFS): 1.访问指定的起始顶点: 2.若当前访问的顶点的邻接顶点有未被访问的,则 ...

  5. Python 正则表达式入门(初级篇)

    Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...

  6. python 高级之面向对象初级

    python 高级之面向对象初级 本节内容 类的创建 类的构造方法 面向对象之封装 面向对象之继承 面向对象之多态 面向对象之成员 property 1.类的创建 面向对象:对函数进行分类和封装,让开 ...

  7. 【BZOJ-1656】The Grove 树木 BFS + 射线法

    1656: [Usaco2006 Jan] The Grove 树木 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 186  Solved: 118[Su ...

  8. POJ 3278 Catch That Cow(bfs)

    传送门 Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 80273   Accepted: 25 ...

  9. POJ 2251 Dungeon Master(3D迷宫 bfs)

    传送门 Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 28416   Accepted: 11 ...

随机推荐

  1. Java的首次学习和了解

    先来说说自己对于Java的了解.Java是一种面向对象的语言,而c++则是面向过程的.Java在网页的开发设计制作过程中必不可少,另外我们还可以用它来做手机的移动开发,还有一些基于服务器的架构设计.J ...

  2. M1/M2项目阶段总结

    1.M1/M2总结 我们这学期完成了学霸项目. 在M1阶段,我们首先进行了分工,完成了一个系统的计划,然后是对学长代码的移植和优化.在优化代码的过程中,我们遇到了不少问题,比如一些代码的冗余以及指向性 ...

  3. /langversion 的选项“4”无效;必须是 ISO-1、ISO-2、3 或 Default SystemFrameWorkV3

    https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version Edit th ...

  4. 3.27PSP及体会

    首先,我还是第一次了解老师这种先喂鸡汤,再打鸡血的行为,大老板的出现让我有些措手不及,我 的 天 啊! 话说这周alpha版本实现,真的是好费脑筋,因为预定是4~6周的项目一周弄完,而且还是在拥有几个 ...

  5. 软件工程_5th weeks

    从周五开始经历了清明小长假,周六.周日和周一都处于假期状态,因此对于上篇博客的评论回复的很迟,而这周的工作做的也不多. 1.爆打小组 4.5日站立会议 时间:2016.4.5 15:00-15:34 ...

  6. 自定义Label控件

    最近开发过程中有一个需求就是修改label控件的模板,使其能够在鼠标移近的时候变成TextBox,从而方便输入,然后进行相应的修改,最终达到动态修改Label的目的,这里贴出相应的代码,并做简要的分析 ...

  7. Review software requirements specification and create test scenarios (what to test for a certain functionality)

    1 srs2 what to test3 establish guidelines on how this deliverable is to be presented , the template4 ...

  8. TMainMenu - 隐藏与显示菜单

    //隐藏与显示菜单 Self.Menu := nil; {隐藏菜单} Self.Menu := MainMenu1; {显示菜单}

  9. Java动态代理、XML、正则

    15.1  动态代理        在之后学习Spring框架时,Spring框架有一大核心思想,就是AOP,(Aspact-Oriented-Programming 面向切面编程) 而AOP的原理就 ...

  10. 经典Java面试题收集(二)

    经典的Java面试题(第二部分),这部分主要是与Java Web和Web Service相关的面试题. 96.阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于 ...