给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。

输入格式:
输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。

输出格式:
按照"{ v1 v​2 … v​k}"的格式,每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。

输入样例:
8 6
0 7
0 1
2 0
4 1
2 4
3 5
输出样例:
{ 0 1 4 2 7 }
{ 3 5 }
{ 6 }
{ 0 1 2 7 4 }
{ 3 5 }
{ 6 }

列出连通集,DFS和BFS两种不同的方法堆邻接矩阵进行遍历

#include<stdio.h>
#include<string.h>
int visit[100]={0};
int G[100][100];
void DFS(int i,int n);
void BFS(int i,int n);int main(void) {int n,i,m,a,b;scanf ("%d %d",&n,&m);for (i=0;i<m;i++) {scanf ("%d %d",&a,&b);G[a][b]=G[b][a]=1;}for (i=0;i<n;i++) {if (visit[i]==0) {printf ("{");DFS(i,n);printf (" }\n");}}for (i=0;i<n;i++) {visit[i]=0;}//visit[100]={0};for (i=0;i<n;i++) {if (visit[i]==0) {printf ("{");BFS(i,n);printf (" }\n");}}return 0;
}
void DFS(int i,int n) {int j;printf (" %d",i);visit[i]=1;for (j=0;j<n;j++) {if(visit[j]==0&&G[i][j]==1) {DFS(j,n);}}
}
void BFS(int i,int n) {int a[100],j,x=-1,y=-1,last=0,v;visit[i]=1;a[++x]=i;while(1) {if (x==y) break;v=a[++y];printf (" %d",v);for (j=0;j<n;j++) {if (visit[j]==0&&G[v][j]==1) {a[++x]=j;visit[j]=1;}}}
}

7-2 列出连通集 (25 分)相关推荐

  1. 7-201 列出连通集 (25 分)

    7-201 列出连通集 (25 分) 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的 ...

  2. 7-2 列出连通集 (25分)

    文章目录 7-2 列出连通集 (25分) 输入格式: 输出格式: 输入样例: 输出样例: 题解 伪代码 代码 7-2 列出连通集 (25分) 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别 ...

  3. 7-6 列出连通集 (25 分)(详解)

    列出连通集 1:思路 : 利用了邻接矩阵储存数据并建图,然后就是 DFS遍历和BFS遍历 只不过是本题需要输出的是非连通图 连通分量 外加俩函数搞定 2:上码 #include<bits/std ...

  4. 列出连通集 (25 分)【DFS与BFS模板】

    立志用最少的代码做最高效的表达 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访 ...

  5. 7-6 列出连通集 (25 分)(C语言实现)

    给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点. 输入格式: 输入第1 ...

  6. 7-5 列出连通集 (6 分)

    7-5 列出连通集 (6 分) 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访 ...

  7. 列出连通集(java)

    7-6 列出连通集 (25 分) 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序 ...

  8. 06-图1 列出连通集 —— 非联通图的DFS与BFS

    06-图1 列出连通集 (25 分) 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的 ...

  9. 7-1 列出连通集(25 分)

    7-1 列出连通集(25 分) 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集.假设顶点从0到N−1编号.进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访 ...

最新文章

  1. 调用WebService时加入身份验证,以拒绝未授权的访问
  2. JAVA I/O操作那些事之标准I/0
  3. Thread 中的run() 与start() 方法
  4. 2021年安徽高考英语口试成绩查询,2021高考英语口语考试成绩
  5. redis api-list
  6. CentOS 网络设置修改
  7. Django模板系统 运算
  8. 最小函数值(信息学奥赛一本通-T1370)
  9. 【PE】手动给PE文件添加一段代码MessageBoxA
  10. 蓝桥杯 ALGO-94 算法训练 新生舞会
  11. JavaScript中的.trim()无法在IE中运行
  12. CentOS7.6安装WirёGuαrd(一)
  13. 2017-2018-2 20179302 《网络攻防》第三周作业
  14. 如何在Ubuntu18.4中设置ERPNEXT开源ERP生产环境开机运行
  15. 计算机检索的截词检索方法,常用的截词检索有哪些
  16. 大学计算机python基础_大学计算机python基础课件2015lecture17
  17. Latex制作三线表 Latex制作复杂表格 加彩色边框高亮显示
  18. csdn格式字体、样式、排版
  19. System.arraycopy()详解
  20. Python基础 | Spyder的使用

热门文章

  1. 十二.vue-resourse实现get,post,jsonp请求
  2. Java零基础入门学习教程(纯干货知识点+视频资源)
  3. Libtool library used but LIBTOOL is undefined
  4. ImportError: No module named qbo_talk.srv
  5. 网络与协议2022 - Practice Questions - Block 1
  6. 【JavaSE专栏2】JDK、JRE和JVM
  7. css 宽度为百分比, 高度和宽度相等的设置
  8. IE中直接访问html,????? help!在IE中用Applet如何访问所在的HTML吗?
  9. HTTP HTTPS 创建CA证书
  10. Win11或Win10重置电脑提示“找不到恢复环境”