06-图1 列出连通集 (25分)
来源:互联网 发布:js 扩展window对象 编辑:程序博客网 时间:2024/05/22 11:50
06-图1 列出连通集 (25分)
给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。
输入格式:
输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。
输出格式:
按照"{ v1 v2 ... 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 }
题目思路:基本的连通集DFS和BFS遍历
#include<stdio.h>#include<stdlib.h>#define MAXN 15int visited[MAXN] = {0};//建立邻接矩阵 //Create Graphint G[MAXN][MAXN]={0},NV,NE;void BuildGraph(){//freopen("test1.txt","r",stdin); int i,j,v1,v2;scanf("%d%d",&NV,&NE);for( i=0; i<NE; i++){scanf("%d%d",&v1,&v2);//InsertEdgeG[v1][v2] = 1;G[v2][v1] = 1;}}//DFSvoid DFS(int v){visited[v] = 1;printf("%d ",v);//输出这个点 for(int i=0; i<NV; i++){if(G[v][i] && !visited[i])//如果联通这个点且没有访问过 {DFS(i);}}} void ListComponentsDFS(){int i;for(i=0; i<NV; i++){if(!visited[i]){ printf("{ "); DFS(i);printf("}\n");}}}//初始化visitedvoid isvisited(){for(int i=0; i<MAXN; i++){visited[i] = 0;}} //BFSvoid BFS(int v){//队列const int MAXSIZE=100;int quene[MAXSIZE];int first = -1, rear = -1; quene[++rear] = v;//入队 visited[v] = 1;while(first < rear)//队列不为空{int de = quene[++first];//出队printf("%d ",de);for(int i=0; i<NV; i++){if(!visited[i]&&G[de][i]){visited[i] = 1;quene[++rear] = i;}} } }void ListComponentsBFS(){int i;for(i=0; i<NV; i++){if(!visited[i]){printf("{ "); BFS(i);printf("}\n");}}}int main(){//建图BuildGraph();//DFS遍历连通集ListComponentsDFS();isvisited();//BFS遍历连通集 ListComponentsBFS();return 0;}
0 0
- 06-图1 列出连通集 (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分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- 06-图1 列出连通集 (25分) C++
- 06-图1 列出连通集 (25分)
- 5-1 列出连通集 (25分)
- 5-1 列出连通集 (25分)
- 06-图1 列出连通集 (25分)
- mongodb3.0副本集配置
- spring源码剖析(六)AOP实现原理剖析
- Hibernate 中的attachDirty,attachClean,merge,findByProperty和findByExample
- iOS之超时页面处理
- 怎么让局域网访问你的电脑上的网站?
- 06-图1 列出连通集 (25分)
- java LinkedList实现原理概述
- js keyup、keypress和keydown事件 详解
- 简单排序算法
- J-Children of the Candy Corn|BFS+DFS
- mysql 日期格式都是带百分号的,======如下
- List的add方法剖析
- 二叉树的遍历 Java版
- Visual Studio:error MSB8020