数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
来源:互联网 发布:java基本数据类型大小 编辑:程序博客网 时间:2024/06/10 09:07
Statistic
Problem Description
给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)
Input
输入第一行为整数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顶点的无向边。
Output
输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示BFS的遍历结果。
Example Input
1
6 7 0
0 3
0 4
1 4
1 5
2 3
2 4
3 5
Example Output
0 3 4 2 5 1
Hint
以邻接矩阵作为存储结构。
Author
#include <iostream>#include<stdio.h>#include<stdlib.h>#include<string.h>#include<queue>using namespace std;int i;int map[111][111];int visit[111], ans[111];int w;void bfs(int t, int n){ queue<int>q; q.push(t); ans[w++]=t; visit[t]=1; while(!q.empty()) { int v=q.front(); q.pop(); for(i=0; i<n; i++) { if(!visit[i]&&map[v][i]==1) { visit[i]=1; q.push(i); ans[w++]=i; } } }}int main(){ int n; cin>>n; while(n--) { int k, m, t; cin>>k>>m>>t; memset(map, 0, sizeof(map)); memset(visit, 0, sizeof(visit)); for(i=0; i<m; i++) { int x, y; cin>>x>>y; map[x][y]=map[y][x]=1; } w=0; bfs(t, m); for(i=0;i<w;i++) { cout<<ans[i]<<" "; } } return 0;}
阅读全文
0 0
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- Python3.x 类
- echarts图表ajax获取数据填充
- 多线程中 interrupt、interrupted 、isInterrupted 区别
- Hive条件函数
- ES6(JavaScript)的深复制和浅复制
- 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
- 那些年踩过的坑之(3)IllegalArgumentException at org.springframework.asm.ClassReader when initializing Spring
- centos 关闭邮件提示You have new mail in /var/spool/mail/root
- 安卓开发(1):配置环境
- 通信网络编程第一次作业
- protected详解!
- js基本概念(下)之语句与函数
- Idea去除Mybatis黄色背景
- Python(1)windows上搭建Ubuntu环境安装,使用ide:pycharm coding