2107图的深度遍历
来源:互联网 发布:漫画下载软件 编辑:程序博客网 时间:2024/05/30 19:35
图的深度遍历
Problem Description
请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。
Input
输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。
Output
输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示DFS的遍历结果。
Example Input
14 40 10 20 32 3
Example Output
0 1 2 3
代码
#include<iostream>#include<cstring>using namespace std;int Graph[101][101],visited[101],t,k;void DFS(int t){ if(t==0) cout<<t; else cout<<" "<<t; visited[t]=1; for(int i=0;i<k;i++) { if(visited[i]==0&&Graph[t][i]==1) { DFS(i); } }}int main(){ int n; cin>>n; while(n--) { int m; cin>>k>>m; int u,v; memset(Graph,0,sizeof(Graph)); memset(visited,0,sizeof(visited)); for(int i=0;i<m;i++) { cin>>u>>v; Graph[u][v]=Graph[v][u]=1; } t=0; DFS(t); cout<<endl; }}
带有注释的
#include<iostream>#include<cstring>//memset函数头文件 using namespace std;int vis[100];//访问标志数组 int Graph[100][100];//邻接矩阵,不建议定义成map,因为c++的STL模板库中有map函数 int n,k,m,u,v;void DFS(int s) //深度遍历 { if(s==0) //访问第一个顶点,输入的时候前面没有空格 cout << s; else cout<<" "<<s; vis[s] = 1; //置1,证明已经访问 for(int i = 0; i < k; i++) //依次检查邻接矩阵v所在的行,顶点编号从0到k-1 { if(vis[i]==0 && Graph[s][i]!=0) //此顶点未被访问,并且存在邻接点 DFS(i); //以新的节点作为起始节点继续深度遍历 } } int main() { cin >> n; //n组数据 while(n --) { memset(Graph, 0, sizeof(Graph)); //数组初始化为0 memset(vis, 0, sizeof(vis)); //数组初始化为0 cin >> k >> m; //顶点数,边数 while(m --) //m条边 { cin >> u >> v; //u,v顶点连接一条边 Graph[u][v] = Graph[v][u] = 1; //无向边,故是两条;将有边的置1 } DFS(0);//从第一个顶点开始进行深度遍历 cout << endl; } return 0; }
阅读全文
0 0
- 2107 图的深度遍历
- 2107 图的深度遍历
- 2107-图的深度遍历
- 2107图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- 图的深度遍历
- vim 主题失效
- HDU6127-Hard challenge
- 新的开始
- Java之IO(一)
- 用grunt搭建自动化的web前端开发环境(一)介绍 【转载自博客园王福朋】
- 2107图的深度遍历
- 中心极限定理
- java内存区域-程序计数器
- Eclipse JavaEE+Tomcat 9 Servlet开发中org.apache.catalina.LifecycleException的处理
- 机器学习(三)决策树算法ID3的实现
- Save MySQL query results into a text or CSV file
- 离开人工智能谈共享汽车就是耍流氓
- 怪盗基德的挑战书
- BZOJ 2038 小Z的袜子 (莫队算法)