【问题标题】:Efficient maximum independent set within a graph with a maximum degree of 2最大度数为 2 的图中的有效最大独立集
【发布时间】:2014-12-19 19:59:01
【问题描述】:

限制是 100.000 (10^5) 个节点和每个节点 2 个或更少的边

我们如何在 O(n) 或 O(n log n) 时间内获得该图的最大独立集?否则,它会按时熄灭。顺便说一句,我只需要知道积分集合的数量,而不一定是积分集合本身。

我知道适用于 O(n) 的贪心近似,它选择度数最低的节点,将它们添加到我们的集合中,然后删除它的所有邻居,重复此操作直到图形为空,并且此近似适用于许多情况。问题是,有这些限制,难道没有任何算法总是有效的吗?

【问题讨论】:

    标签: c++ algorithm set max


    【解决方案1】:

    在该类图上,如果您贪婪地选择度数最低的节点并删除它及其邻居,那么您将在线性时间内得到最优解。

    【讨论】:

    • 刚刚编辑了我的帖子,我相信它,但为什么它总是在 2 度数下工作?我认为贪婪的方法总是作为一种近似值。谢谢你的回答
    • @JuanIgnacioSuarez 度数为 0 或 1 的节点始终是安全的选择,无论图类如何。如果所有节点的度数为 2,则您有一个不相交的循环并集,并且所有选择都是对称的。
    猜你喜欢
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2019-05-23
    • 1970-01-01
    • 2021-03-13
    • 2021-01-23
    相关资源
    最近更新 更多