PTA 有向图深度优先搜索时间戳DFS算法

题目如下

DFS对每个顶点的时间戳如下:

  • d[v]:记录v首次发现的时刻
  • f [v]:记录搜索完v的所有邻接点的时刻

对于有n个顶点、m条边(1≤n≤50,0≤m≤200)的有向图G,计算所有顶点的时间戳。(顶点编号范围[0, n),时间戳从1开始)

当DFS有多个候选访问时,算法应该选择编号小的顶点。

输入格式:

在第一行中,给出了表示G的顶点数的整数n。

在接下来的n行中,顶点u的邻接表均以下列格式提供:
u k v1 v2 ... vk

u为顶点的编号,k为u的出度。vi是与u相邻的顶点编号。数据保证vi以升序给出。

输出格式:

对于每个顶点,在一行中打印编号、d和f,中间用一个空格分隔。d和f分别为发现时间和完成时间。按顶点编号的顺序打印。

输入样例:

4
0 1 1
1 1 3
2 0
3 1 2

输出样例:

0 1 8
1 2 7
2 4 5
3 3 6

 答案部分:

运用DFS深度优先搜索 遍历

深度优先搜索算法(Depth First Search,简称DFS):一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值