数据结构实验之图论二:图的深度遍历(SDUT 2107)(简单DFS)
题解:图的深度遍历就是顺着一个最初的结点开始,把与它相邻的结点都找到,也就是一直往下搜索直到尽头,然后在顺次找其他的结点。
#include <bits/stdc++.h>
using namespace std;
int gra[200][200]; //储存图的大小
int vis[200]; // 标记数组
void dfs(int x,int k) // 有k个点,x代表目前搜到了那个点。
{
int i;
for(i = 0; i < k; i ++)
{
if(!vis[i] && gra[x][i]) // 如果和x这个点相连并且没有找过就是符合条件的
{
vis[i] = 1;
printf (" %d",i);
dfs(i,k); // 找与这个点相连接的
}
}
}
int main()
{
int n, u, v, k, m, i;
scanf("%d",&n);
while(n--)
{
scanf("%d %d",&k, &m);
memset(gra, 0, sizeof(gra));
memset(vis, 0, sizeof(vis));
for(i = 0; i < m; i ++)
{
scanf("%d%d",&u, &v);
gra[u][v] = gra[v][u] = 1;
}
vis[0] = 1;
printf("0");
dfs(0,k);
printf("\n");
}
return 0;
}
er:
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
int a[500][500];
int vis[450];
int f = 1;
void dfs(int t,int n)
{
vis[t] = 1;
if(f) f= 0;
else printf(" %d",t);
for(int i = 0; i < n; i ++)
{
if(!vis[i] && a[t][i])
{
vis[i] = 1;
dfs(i,n);
}
}
}
int main()
{
int n,k,m,t,u,v;
cin >> n;
while(n --)
{
cin >> k >> m;
memset(a,0,sizeof(a));
while(m --)
{
cin >> u >> v;
a[u][v] = a[v][u] = 1;
}
memset(vis,0,sizeof(vis));
f = 1;
printf("0");
dfs(0,k);
printf("\n");
}
return 0;
}
数据结构实验之图论二:图的深度遍历(SDUT 2107)(简单DFS)的更多相关文章
- SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
数据结构实验之图论二:基于邻接表的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Descript ...
- SDUT2142数据结构实验之图论二:基于邻接表的广度优先搜索遍历
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2142&cid=1186 题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜 ...
- 数据结构实验之图论三:判断可达性(SDUT 2138)(简单DFS)
#include <bits/stdc++.h> using namespace std; int gra[1002][1005]; int vis[1002]; int n,m; voi ...
- SDUT-2107_图的深度遍历
数据结构实验之图论二:图的深度遍历 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 请定一个无向图,顶点编号从0到n-1 ...
- SDUT OJ 数据结构实验之图论十:判断给定图是否存在合法拓扑序列
数据结构实验之图论十:判断给定图是否存在合法拓扑序列 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Prob ...
- 数据结构之 图论---图的深度遍历( 输出dfs的先后遍历序列 )
图的深度遍历 Time Limit: 1000MS Memory limit: 65536K 题目描述 请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出.遍历时,先遍历节点编 ...
- SDUT 3363 数据结构实验之图论七:驴友计划
数据结构实验之图论七:驴友计划 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 做为一个资深 ...
- SDUT OJ 数据结构实验之图论八:欧拉回路
数据结构实验之图论八:欧拉回路 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...
- 数据结构实验之图论七:驴友计划 ( 最短路径 Dijkstra 算法 )
数据结构实验之图论七:驴友计划 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Probl ...
随机推荐
- github的pull request是指什么意思?有什么用处(转)
https://www.cnblogs.com/-walker/p/6093277.html
- git创建本地分支,推送到远程
创建本地分支git branch 分支名 例如:git branch dev,这条命令是基于当前分支创建的本地分支,假设当前分支是master(远程分支),则是基于master分支创建的本地分支dev ...
- 数据结构之链表(LinkedList)(一)
链表(Linked List)介绍 链表是有序的列表,但是它在内存中是存储如下 1)链表是以节点方式存储的,是链式存储 2)每个节点包含data域(value),next域,指向下一个节点 3)各个节 ...
- elementUI表单验证
elementUI表单验证非常方便,我们直奔主题: <template> <el-form ref="orderForm" :model="orderF ...
- element-ui中使用表单验证的问题
<el-form ref="ruleRules" :inline="true" :model="ruleInfo"> <e ...
- Qt槽函数创建
法一 手动添加 private slots: void on_cancel_clicked(); void Widget::on_cancel_clicked() { } connect(ui-> ...
- Eclipse上安装websphere
Eclipse上安装websphere 参考:https://blog.csdn.net/qq_26264237/article/details/90107508 安装websphere插件 WebS ...
- Android笔记(二十一) Android中的Adapter
Android中有一些View是包含多个元素的,例如ListView,GridView等,为了给View的每一个元素都设置数据,就需要Adapter了. 常用的Adapter包括ArrayAdapte ...
- c# 子类的声明
- lombok自定义扩展实践
lombok是一款能够在java代码编译阶段改变代码的插件.比如生成setter和getter方法,生成log类变量等,能够简化一些特定的模版式代码.本文将以实现一个基于特定注解生成日志代码的方式,简 ...