数据结构实验:连通分量个数
来源:互联网 发布:java接口实现文件上传 编辑:程序博客网 时间:2024/05/23 11:40
数据结构实验:连通分量个数
Time Limit: 1000MS Memory limit: 65536K
题目描述
在无向图中,如果从顶点vi到顶点vj有路径,则称vi和vj连通。如果图中任意两个顶点之间都连通,则称该图为连通图,
否则,称该图为非连通图,则其中的极大连通子图称为连通分量,这里所谓的极大是指子图中包含的顶点个数极大。
例如:一个无向图有5个顶点,1-3-5是连通的,2是连通的,4是连通的,则这个无向图有3个连通分量。
输入
第一行是一个整数T,表示有T组测试样例(0 < T <= 50)。每个测试样例开始一行包括两个整数N,M,(0 < N <= 20,0 <= M <= 200)
分别代表N个顶点,和M条边。下面的M行,每行有两个整数u,v,顶点u和顶点v相连。
输出
每行一个整数,连通分量个数。
示例输入
23 11 23 23 21 2
示例输出
21
提示
来源
cz
示例程序
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <queue>using namespace std;int n, m, sum;int map[1010][1010], visit[1010];void bfs(int x) //找求最大连通分量,也就是说从第一个节点开始遍历,遍历所有的节点,如果可以连通{ //就把可以连通的节点标记为已经遍历,就是bfs(),添加一个计数变量,记录bfs()的次数, queue<int>Q; //每一次广度搜索,就是从一个没有遍历的节点把所有可以和它相连的节点连接起来,标记为1 while(!Q.empty()) //当一次广度搜索完成,判断所有节点还有没有没有遍历的,如果没有遍历,就以此节点为开始 Q.pop(); //继续遍历所有节点,直到所有节点都被遍历,广度搜索的次数,也就是找出连通量的个数 sum++; Q.push(x); visit[x] = 1; while(!Q.empty()) { int y = Q.front(); Q.pop(); for(int j = 0; j < n; j++) { if(map[y][j] != 0 && visit[j] == 0) { visit[j] = 1; Q.push(j); } } } for(int i = 1; i < n; i++) //当一次bsf()后,没有遍历过的节点继续递归遍历 { if(visit[i] == 0) bfs(i); }}int main(){ int t; cin >> t; while(t--) { sum = 0; memset(visit, 0, sizeof(visit)); //每次都要初始化 memset(map, 0, sizeof(map)); cin >> n >> m; for(int i = 0; i < m; i++) { int u, v; cin >> u >> v; //注意输入节点坐标从1开始,而数组中从0开始 map[u - 1][v - 1] = map[v - 1][u - 1] = 1; } bfs(0); cout << sum << endl; } return 0;}
附并查集算法代码:点击打开链接
0 0
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 数据结构实验:连通分量个数
- 欢迎使用CSDN-markdown编辑器
- C++ 直接初始化与赋值初始化,讲的很仔细
- android IO小demo简单易懂
- 一个简单编译器的实现过程
- Java nio服务器端对于客户端连接状态的判断
- 数据结构实验:连通分量个数
- OGNL学习笔记
- jdbc的获取连接的两种方式
- 栈和堆的生长方向
- VS/VC++中的路径宏如 $(ProjectDir) 等含义
- linux(NFS)上文件或者目录共享的实现
- C#中的位操作
- 【MySQL】安装&配置
- 深入浅出:CPU,GPU,内存的优化