数据结构(15)——--邻接矩阵存储练习
2017-04-12 09:07
260 查看
A - 邻接矩阵存储练习
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的遍历结果。
Sample Input
1
6 7 0
0 3
0 4
1 4
1 5
2 3
2 4
3 5
Sample Output
0 3 4 2 5 1
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的遍历结果。
Sample Input
1
6 7 0
0 3
0 4
1 4
1 5
2 3
2 4
3 5
Sample Output
0 3 4 2 5 1
#include<stdio.h> #include<string.h> #include<stdio.h> int map[110][110]; int dis[110]; //判定后输出数组 int vis[110]; //判断该顶点是否被访问过 int k, m, t; int in = 1; int out = 0; void BFS(int u) { int i = 0; out++; for (i = 0; i < k; i++) { if (map[u][i] == 1 && vis[i] == 0) { dis[in++] = i; vis[i] = 1; } } if (out <= in) BFS(dis[out]); } int main() { int n, i, j; int u, v; scanf("%d", &n); for (i = 0; i < m; i++) { scanf("%d%d%d", &k, &m, &t); memset(map, 0, sizeof(map)); //将数组全部用0填充 memset(dis, 0, sizeof(dis)); memset(vis, 0, sizeof(vis)); for (j = 0; j < m; j++) { map[u][v] = map[v][u] = 1; //无向图 } dis[0] = t; vis[t] = 1; BFS(t); for (j = 0; j < k - 1; j++) { printf("%d ", dis[j]); } printf("%d\n", dis[j]); } return 0; }
相关文章推荐
- 【自己动手写数据结构】 -- 有向带权图的邻接矩阵存储的简单实现
- 第12周 项目1—数据结构之自建算法库——图及其存储结构(邻接矩阵、邻接表)
- 数据结构(9) -- 图的邻接矩阵存储
- 数据结构(16)——邻接表存储练习
- 2015-12-7 项目1—数据结构之自建算法库——图及其存储结构(邻接矩阵、邻接表)
- 【第十一周】数据结构之自建算法库——图及其存储结构(邻接矩阵、邻接表)
- 数据结构练习(15)把字符串转换成整数
- 【数据结构】以邻接矩阵作存储结构,求连通分量的个数,设计算法求图G的深度,深度优先序列输出
- 图的存储结构(邻接矩阵)- 数据结构和算法56
- 数据结构(11):图的存储方式(邻接矩阵、邻接表....)
- 数据结构之(图存储结构之)邻接矩阵
- 算法与数据结构基础9:C++实现有向图——邻接矩阵存储
- C++编程练习(9)----“图的存储结构以及图的遍历“(邻接矩阵、深度优先遍历、广度优先遍历)
- 2-11. 两个有序链表序列的合并(15):链表数据结构基础练习
- C++编程练习(9)----“图的存储结构以及图的遍历“(邻接矩阵、深度优先遍历、广度优先遍历)
- 图的存储结构(邻接矩阵)- 数据结构和算法56
- 数据结构之无向图基本操作(采用邻接矩阵存储)—整理严蔚敏数据结构
- 数据结构-练习 9 图的存储 之邻接链表
- 【数据结构】对称矩阵及对称矩阵的压缩存储
- 数据结构-栈的静态顺序存储表示-初始化压栈弹栈