每个顶点中DAG中可到达的顶点数


11

令是一个无环有向图,使得任何顶点的外度为。对于每个顶点,我们只需计算每个顶点的dfs即可计算可达顶点的数量,这将花费时间。有解决这个问题的更好方法吗?G(V,Ë)Ø(日志⁡|V|)GØ(|V||Ë|)



1
@Radu这是直接复制品吗?这听起来像它
— 苏雷什Venkat

@Suresh,与我的问题相比,这是一个顶点度的上限,不要求下限。我认为这些差异很小,因此我认为它是重复的,但是我对此并不感到强烈。
— Radu GRIGore 2011年

1
好的,所以我们将其保留。
— Suresh Venkat

4
virgi对我的问题的回答暗示着对此有一种算法。Ø(|V|2)
— Radu GRIGore 2011年

Answers:



-1

我不是专家,我会尝试。

1)由于它是DAG,因此应该具有一个汇点顶点,即出度为0的顶点。找到一个汇点顶点,说x并将{x}作为可到达的顶点添加到Neighbor(x)中。删除x并重复该过程,直到图形变为空


由于出学位是有界的,所以从源头开始似乎更有用?
— 安德拉斯·萨拉蒙

@ andras-salamon:不,因为您不知道某个源可访问的节点数。但是您不对接收器执行该操作(零)。
— Martin B.

Ø(|V|⋅|Ë|)XØ(|V|)Ø(|V|)Ø(|V|)Ø(|V|⋅|Ë|)

-2

(类似于Prabu的解决方案,但更详细)

ñ(v)v[RË一种CH(v)

  1. Ø(|V|+|Ë|)
  2. v[RË一种CH(v)=∑ñ∈ñ(v)[RË一种CH(ñ)

|Ë|Ø(|V|+|Ë|)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.