【问题标题】:Undirected Graph: Minimum Spanning Tree with few red edges as possible无向图:红边尽可能少的最小生成树
【发布时间】:2015-12-06 20:16:26
【问题描述】:

我不知道如何处理这个问题。

给定一个无向图,每条边都有红色或蓝色。如何在时间复杂度(O(m + n)log n)中找到包含尽可能少的红色边缘的最小生成树。其中m个顶点,n个边。

任何帮助将不胜感激。

【问题讨论】:

    标签: algorithm graph


    【解决方案1】:

    据我所知,我认为您已经回答了自己的问题。通过为边缘分配权重,红色权重 1 和蓝色权重 0,问题成为经典发现 minimum spanning tree,其时间复杂度为 O((m + n) log n)

    【讨论】:

    • 请注意,您可以使用 bucketsort 在 O(m) 中对边进行排序,因为权重只有 2 个不同的值。
    【解决方案2】:

    首先找到所有最小生成树。然后计算每棵树的边缘并选择红色最少的树。这是关于修改用于查找最小生成树的算法,您应该能够找到示例。

    如果我误解了这个问题并且目标是最小化红色边缘,以便找到的生成树可能不再是最小值:首先找到所有可能的生成树。然后选择红边最少的树。

    【讨论】:

      猜你喜欢
      • 2011-02-17
      • 1970-01-01
      • 2017-04-18
      • 1970-01-01
      • 2021-10-12
      • 2016-10-16
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      相关资源
      最近更新 更多