Graph 有向图中所有其他顶点均可到达的顶点或顶点集

Graph 有向图中所有其他顶点均可到达的顶点或顶点集,graph,Graph,给定一个有向图,如何找到可以从所有其他顶点到达的顶点(称之为“特殊顶点”)?没有必要从这个特殊的顶点到达其他顶点。我假设图是非循环的(即DAG) 1) 对图进行拓扑排序2)检查最后一个顶点的独立度。如果它等于n-1,则它是一个特殊的顶点。当然,这里没有传递闭包的拓扑排序是无用的 如果一个顶点是一个特殊的顶点,可以说它是一个特殊的顶点 把叶子放在袋子里 反转有向图的弧并在任何顶点上运行DFS,如果所有其他顶点都可到达,则这是原始图的特殊顶点 我认为,度=n并不总是意味着这一点。考虑图1>2, 2

给定一个有向图,如何找到可以从所有其他顶点到达的顶点(称之为“特殊顶点”)?没有必要从这个特殊的顶点到达其他顶点。

我假设图是非循环的(即DAG)

  • 1) 对图进行拓扑排序2)检查最后一个顶点的独立度。如果它等于
    n-1
    ,则它是一个特殊的顶点。当然,这里没有传递闭包的拓扑排序是无用的

  • 如果一个顶点是一个特殊的顶点,可以说它是一个特殊的顶点 把叶子放在袋子里

  • 反转有向图的弧并在任何顶点上运行DFS,如果所有其他顶点都可到达,则这是原始图的特殊顶点


我认为,度=n并不总是意味着这一点。考虑图1>2, 2>3, 3>4,图的拓扑顺序为1 2 3 3。这里最后一个顶点(即4)的度数为1。@BodhAlmast当然需要传递闭包(可达性关系)