找到有向图中可以到达其他顶点的最小顶点数

时间:2014-01-14 00:00:50

标签: algorithm graph social-networking

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

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

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

实际上这个问题出现在社交网络中,当我们想要找到最小数量的人时,如果我们发送消息,那么所有的网络成员都会得到它。(假设我们知道有人收到消息他/她会把它发送给他/她的所有粉丝。)

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:6)

对于没有循环的图形(即非循环图),它将很容易。没有入边的所有节点都是最佳解决方案。由于所有其他节点都应该可以从其中一个节点到达。

对于带循环的图形,首先找到strongly connected component,然后得到一个非循环图。上面的方法再次起作用。