列出连通集(25 分)(深搜广搜)
来源:互联网 发布:怎么申请阿里云学生机 编辑:程序博客网 时间:2024/06/05 05:57
7-7 列出连通集(25 分)
给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。
输入格式:
输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。
输出格式:
按照"{ v1v2 ... vk }"的格式,每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。
输入样例:
8 60 70 12 04 12 43 5
输出样例:
{ 0 1 4 2 7 }{ 3 5 }{ 6 }{ 0 1 2 7 4 }{ 3 5 }{ 6 }这道题对于广搜部分就是一个简单的模板套用,没有什么不同,主要是深搜的标记普通的着路径的深搜是不同的,这里相当于遍历,每次每个点只能输出一次,但是一般的深搜肯定会经过重复的点,所以这里标记后回溯的时候不再让它变成0,然后打印这个点,这样下次就不会走到这个点了
#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;#define INF 0x3f3f3f3fint n,e;int mp[15][15];int vis[15];int haveprint[15];void bfs(int s){ queue<int>q; int i; vis[s] = 1; q.push(s); while(!q.empty()){ int x = q.front(); printf("%d ",x); q.pop(); for(i = 0; i < n; i++){ if(mp[x][i]==1&&!vis[i]){ vis[i] = 1; q.push(i); } } }}void dfs(int s){ int i; printf("%d ",s); for(i = 0; i < n; i++){ if(mp[s][i]==1&&!vis[i]){ vis[i] = 1;//标记 dfs(i);//不再变成零 } }}int main(){ memset(mp,INF,sizeof(mp)); scanf("%d%d",&n,&e); int i; for(i = 0; i < e; i++){ int u,v; scanf("%d%d",&u,&v); mp[u][v] = 1; mp[v][u] = 1; } int j; //dfs memset(vis,0,sizeof(vis)); //memset(haveprint,0,sizeof(haveprint)); for(i = 0; i < n; i++){ if(!vis[i]){ vis[i] = 1; printf("{ "); dfs(i); printf("}\n"); } } //printf("---------------------------------------------\n"); //bfs memset(vis,0,sizeof(vis)); for(i = 0; i < n; i++){ if(!vis[i]){ printf("{ "); bfs(i); printf("}\n"); } } return 0;}
阅读全文
0 0
- 列出连通集(25 分)(深搜广搜)
- 5-6 列出连通集(25分)
- 7-6 列出连通集(25 分)
- 7-77 列出连通集(25 分)
- 5-6 列出连通集 (25分)
- 5-6 列出连通集 (25分)
- 5-6 列出连通集 (25分)
- 5-1 列出连通集 (25分)
- 5-1 列出连通集 (25分)
- PTA 数据结构与算法题目集(中文)5-6 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- session的removeAttribute()和invalidate()的区别
- NVMe和AHCI模式的区别
- 除了iPhone,谷歌还要把AI塞进Photo和厨房
- java以及javaweb开发组件,开发环境和开发工具安装配置(一:java环境--最简单的方式)
- GCOV+LCOV 代码调试和覆盖率统计工具
- 列出连通集(25 分)(深搜广搜)
- HDU
- 1TensorFlow实现自编码器-1.5 TensorFlow实现单隐层自编码器--计算图设计
- python常用指令
- 我的第一篇CSDN博客
- 我只是小小知识点--JMS
- Fast特征检测
- Warning:Exception while processing task java.io.FileNotFoundException: D:\...\app\build\intermediate
- 前馈神经网络实现