数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
来源:互联网 发布:mac word 用户权限 编辑:程序博客网 时间:2024/06/02 00:54
题目描述
给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)
输入
输入第一行为整数n(0< n <100),表示数据的组数。
对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点,t为遍历的起始顶点。
下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。
对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点,t为遍历的起始顶点。
下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。
输出
输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示BFS的遍历结果。
示例输入
16 7 00 30 41 41 52 32 43 5
示例输出
0 3 4 2 5 1
提示
以邻接矩阵作为存储结构。
#include <iostream>#include<cstdio>#include<cstring>#include<cmath>#include<queue>using namespace std;int mp[110][110]; //关系图;bool vis[110]; //标记点是否已走过;int que[10101]; //队列;int n,m;void BFS(int s){ memset(vis,0,sizeof(vis)); //清零;表示每一个点都可达; int ss,ee; int now; ss=ee=0; que[ss++]=s; vis[s]=1; while(ss>ee) { now=que[ee++]; for(int i=0;i<n;i++) { if(!vis[i]&&mp[now][i]) { vis[i]=1; que[ss++]=i; printf(" %d",i); } } } printf("\n");}int main(){ int t; int s; int u,v; scanf("%d",&t); while(t--) { scanf("%d%d%d",&n,&m,&s); memset(mp,0,sizeof(mp)); for(int i=0;i<m;i++) { scanf("%d%d",&u,&v); mp[u][v]=mp[v][u]=1; } printf("%d",s); BFS(s); } return 0;}
0 0
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep
- 在Android studio中导入第三方jar
- Mutex使用样例
- OpenCV学习笔记(三)
- 告诉你ListView的Adapter应该写在Activity外面还是里面
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- HDU-1466-计算直线的交点数【DP】
- [HDU 5816] Hearthstone (概率DP+状压)
- 多校联合训练7&&HDU 5810
- 追踪算法ASMS体验
- java生成UUID通用唯一识别码 (Universally Unique Identifier)
- rxjava/rxandroid结合lambda的使用
- 归并排序
- 经典面试题之求连续子数组最大和