摘要:
初识tarjan算法,还要从一道算法考试题说起,当时没有听过这个算法,当然是铩羽而归 我理解的tarjan算法: 基础为dfs的思想,从根节点(可以是任意一个点)开始,递归的每个点,都按照访问顺序赋予编号,我们用dfn[]数组表示, 同时我们记录这些点的深度,用low[]数组表示 在dfn探索的过程 阅读全文
posted @ 2020-10-22 09:26
BryantKun
阅读(80)
评论(0)
推荐(0)
摘要:
求双连通图,需要使用缩点,缩点的意思就是将图中的环都缩为一个点,给这些点进行编号,最终必然形成一个树。 那么很容易推论出,至少要加的边数num=(leaf+1)/2; leaf即:所有度为1的点的个数(度大于1的点必为根节点) 代码如下: package com.Vjudge;import java 阅读全文
posted @ 2020-10-22 09:07
BryantKun
阅读(103)
评论(0)
推荐(0)
摘要:
//此题是未使用tarjan算法的递归实现,主要原因为,当某一条边属于两个环时,普通tarjan算法结果不对。 // 当然此题已有限制,边最多只属于一个环。import java.io.BufferedReader;import java.io.InputStreamReader;import ja 阅读全文
posted @ 2020-10-22 09:02
BryantKun
阅读(414)
评论(0)
推荐(0)
浙公网安备 33010602011771号