在有向图中找到可以到达其他顶点的最小顶点数[关闭]

Posted

技术标签:

【中文标题】在有向图中找到可以到达其他顶点的最小顶点数[关闭]【英文标题】:find the minimum number of vertices in a directed graph from which the other vertices are reachable [closed] 【发布时间】:2014-01-14 00:00:49 【问题描述】:

在有向图中,我想在某些顶点上调用 bfs,以便满足所有顶点。

(换句话说,所有其他顶点都可以从这些选定的顶点到达。)

我想找到这样的顶点的最小数量。

实际上,这个问题出现在社交网络中,当我们想要找到发送消息的最少人数时,所有网络成员都会收到该消息。(假设我们知道某人何时收到消息他/她会将其发送给他/她的所有追随者。)

谁能帮忙?

【问题讨论】:

这个问题似乎是题外话,因为它是关于Mathematics 这个问题可以找到字典的另一个应用:最小的顶点集对应于你必须知道的单词才能理解整个字典。 【参考方案1】:

对于没有循环的图(即非循环图),它会很容易。所有没有传入边的节点都是最优解。因为所有其他节点都应该可以从其中一个节点访问。

对于有环的图,先找到strongly connected component,然后得到一个无环图。上面的方法再次起作用。

【讨论】:

对于提问者,您能否解释一下他们如何避免因数学可以解决问题而被搁置,而不会因为它太宽泛而搁置?在我看来,很多问题都属于这两个类别之一。 投赞成票,知文。但困惑为什么只有强连接组件?您可能有 A->B->C 不形成“强连接”组件? 对于这种情况,您已经有了一个无环图,您可以从 A 到达所有其他节点吗?

以上是关于在有向图中找到可以到达其他顶点的最小顶点数[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

图论的一些知识点

图的最小切隔问题Minimum Cuts

贪心算法应用-单元最短路径

一个有向无环图的拓扑排序序列是唯一的么

OpenGL顶点缓冲区对象,我可以访问顶点数据以用于其他用途,例如碰撞检测吗?

最短路