图的广度优先遍历

来源:互联网 发布:ubuntu文件服务器搭建 编辑:程序博客网 时间:2024/03/29 17:37

题目

读入图的邻接矩阵以及一个顶点的编号(图中顶点的编号为从1开始的连续正整数。顶点在邻接矩阵的行和列上按编号递增的顺序排列。邻接矩阵中元素值为1,表示对应顶点间有一条边,元素值为0,表示对应顶点间没有边),输出从该顶点开始进行广度优先搜索(Breadth-First Search, BFS)的顶点访问序列。假设顶点数目<=100,并且,对于同一顶点的多个邻接顶点,按照顶点编号从小到大的顺序进行搜索

这是从sicily上找的题目

使用邻接矩阵储存图,主要就是易于声明。

BFS,可以简单的使用队列来实现,从初始点开始,将其相邻的点依次加入队列,然后输出队列就可以了

#include<iostream>#include<algorithm>#include<cstring>#include<queue>#include <vector>using namespace std;int g[101][101],vis[101];int n, s;void bfs(){    vis[s] = 1;    queue<int> q;    q.push(s);    while (!q.empty())    {        for (int i = 1; i <= n; ++i)            if (g[q.front()][i] == 1 && !vis[i])            {                q.push(i);                vis[i] = 1;            }        cout << q.front();        q.pop();        if(q.size()>0)        {            cout<<" ";        }    }}int main(){    cin >> n >> s;    for (int i = 1; i <= n; ++i)        for (int j = 1; j <= n; ++j)            cin >> g[i][j];    bfs();    return 0;}

input

4 30 1 1 01 0 1 11 1 0 10 1 1 0

output

3 1 2 4
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 大连卖房户口怎么办 在警务室被辅警骂了怎么办 上海微信怎么办居住证 公共自行车卡消磁怎么办 港澳通行证到期了怎么办 徐海路大桥对面怎么办 没有买公务机票怎么办 电脑黑屏怎么办重启也没有用 航空公司原因航班取消怎么办 政府采购2次废标怎么办 车卖给别人车牌怎么办 医用耗材中标后怎么办 国六标准国五车怎么办 年审标志丢了怎么办 大专不过统招线怎么办 雅安停天然气了怎么办 调档函过期了怎么办 临时工想涨工资怎么办 辞职了职称公需课怎么办 一师一优课有账号忘记密码怎么办? 长沙转户口档案怎么办 二战迁户口档案怎么办 本人户口页丢失怎么办 户口迁出原籍档案怎么办 户口本丢了一页怎么办 户口本少了一页怎么办 户口页丢了怎么办 公司要社保卡怎么办 公务员面试缺考怎么办 word文档未标签怎么办 暂住证到期了怎么办t 考驾照没暂住证怎么办 南京暂住证过期了怎么办 南京桥北暂住证怎么办 冠状沟红痒一年多了怎么办 介仓身上痒怎么办 专升本考试怎么办 专升本毕业论文怎么办 手机扫码模糊怎么办 iphone相册闪退怎么办 快件签收扫描失败怎么办