【问题标题】:some questions on MST关于MST的一些问题
【发布时间】:2014-06-05 16:51:59
【问题描述】:

我现在正在学习Minimum-Spanning-Tree这个话题,我明白了大部分,但我还有一些不明白的地方。 我正在处理无向加权图。

首先,我知道找到 MST 的成本为 O(E*log V)。现在,当我们处理平面图时,我想将其优化为线性时间 - O(V+E)。

其次,我在单位正方形中看到了 n 个点的示例,我成功地证明了存在权重为 O(sqrt n) 的 MST。问题是我找不到找到这个 MST 的算法。

谢谢大家, 或者

【问题讨论】:

  • 平面图中最多有3个|V| - 6 条边,所以 E = O(V),所以 O(V+E) 简化为 O(V)。我不知道专门用于平面图的 O(V) 算法,但您可能会在网上搜索文献时有一些运气。关于在单位正方形中找到 n 个点的 MST:为什么不使用任何普通算法,例如 Prim 或 Kruskal 的?
  • 平面图:我没有找到任何东西,所以我在这里尝试可能是为了获得一些解释的方向。 MST:我想过为 MST 做一个常规算法。这是令人满意的解决方案吗?
  • 那你看起来不是很努力。谷歌搜索“平面最小生成树”给了我一页结果,其中第 4 个链接指向一个引用页面,其中包含松井 1994 年的一篇名为“平面图上的最小生成树问题”的论文。
  • 我不明白为什么您应该对单位正方形中的点使用不同的算法。使用欧几里得度量(或一般度量)可能有更快的 MST 算法;还有一些其他的图问题,比如 Steiner Minimal Tree。
  • 我找到了这篇文章,但我对他的理解不是很好。我会再试一次,谢谢。

标签: algorithm minimum-spanning-tree weighted planar-graph


【解决方案1】:

Boruvka 的算法在 O(V) 时间内在平面图上运行。详情见

http://www.cs.princeton.edu/~wayne/kleinberg-tardos/pdf/04GreedyAlgorithmsII.pdf

此外,您可以通过在 Delauney 三角剖分中计算边的 MST,在 O(n log n) 时间内计算平面中 n 个点的欧几里得 MST。

【讨论】:

  • 非常感谢,非常有帮助!
  • +1 适用于 Boruvka 的算法,但我不了解如何将 Delaunay 三角剖分用于欧几里得 MST。这样做比仅仅在点上构建一个完整的图表更快吗?
  • @j_random_hacker 构建一个完整的图需要 Theta(n^2),因为任何两个顶点都由一条边连接。
猜你喜欢
  • 2018-05-24
  • 2013-07-07
  • 2013-05-10
  • 2012-03-18
  • 2023-03-09
  • 2021-07-01
  • 2011-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多