[问题] 在O(|V|)的时间内找到non-cut点

楼主: FRAXIS (喔喔)   2013-07-30 19:59:12
我在研究所考题里面看到这个问题。
http://rapid.lib.ncu.edu.tw:8080/cexamn/exam/EC02_102_01.pdf
内的第五题
给定一个无向连通图,此图必存在至少一non-cut点,使得移除此点之后图仍然连通。
设计一算法在O(|V|)的时间内找出non-cut点。
设计一算法在O(|V|)的时间内找出一边,使得移除此边之后图仍然连通,
或是报告此种边不存在。
如果时间复杂度是O(|V| + |E|),那这问题很容易解决。
如果可使用的时间只有O(|V|),那连DFS也做不了。
我的想法是在O(|V|)时间内找到循环,然后在循环上找出non-cut点,
不过也没成功,有没有人有其他想法?
作者: DJWS (...)   2013-07-31 22:52:00
光是读取算法的输入G就要O(V+E)了 题目叙述不够严谨吧...
作者: fenzhang (分帐)   2013-08-02 02:33:00
输入是分开算的吧,也许图上每次增加一点就要询问一次

Links booklink

Contact Us: admin [ a t ] ucptt.com