繁体   English   中英

找到满足给定约束的最小顶点集

[英]Finding a Minimal set of vertices that satisfy the given constraints

注意:不需要形式证明或任何东西,只是算法的一般概念,我会自己更深入地了解 go。

给定一个有图: G(V,E) ,我想找到最小的顶点集T ,这样对于T中的每个顶点t ,以下边不存在: {(t,v) | for every v outside t} 对于O(V+E){(t,v) | for every v outside t}

换句话说,允许tT之外的顶点获取边,但不允许发送。

(您可以将其演示为电话,允许从外面呼叫我,它是免费的,但不允许从我身边呼叫他们)


我看到这个问题非常接近或类似于在有向图中查找所有强连通分量 (scc),其时间复杂度为O(V+E) ,我正在考虑构建一个新图并运行该算法,但不是完全确定。

主要思想是将 G 的每个强连通分量 (SCC) 收缩为单个顶点,同时对收缩图中的每个顶点(G 的压缩)收缩了多少顶点进行评分。 结果图是有向无环图。 答案是出度为 0 的顶点中得分较低的顶点。

由于对边的限制,答案结构是强连通分量的并集,您可以证明由于最小限制,答案中只涉及一个 SCC。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM