※ 引述《c2251393 (mrgc)》之铭言:
: 这样是O(|V|)吗?
: 如果你只是把逆边砍掉的话这样还是O(|V|+|E|)啊
我分成两篇写了.
在第一篇有提到说 I don't go throught the edges in {V_1, V_{k}}.
Because I am generating a spanning tree,
so no need for circule.
: 因为你只是把遍历的的时间 sum(deg(v))变成 sum(deg(v))/2
: 所以原本sum(deg(v)) = 2|E| 而现在是sum(deg(v))/2 = |E|
: 现在假设有一张4阶完全图
: 0 1 1 1
: 1 0 1 1
: 1 1 0 1
: 1 1 1 0
: 从V_1开始跑 花3个时间
: 然后图变成了这样
: 0 0 0 0
: 0 0 1 1
: 0 1 0 1
: 0 1 1 0
Yes, and now the node I have visited is {V_1, V_2, V_3, V_4}
: 然后是V_2 花2个时间
: 图变成
: 0 0 0 0
: 0 0 0 0
: 0 0 0 1
: 0 0 1 0
This is not what I mean. In this step, you have no edge needed to go
because all nodes have beend visited.
What I am thinking now, is the data structure to achieve this.
It can be represented by
visit_edge ( (j node have been visited?) && E_{i,j} )