【发布时间】:2011-09-06 13:12:40
【问题描述】:
谁能给出这两种算法的一些应用, 它们可以用于哪些地方和哪些应用程序?
【问题讨论】:
-
在某处引用它们会很有用。
标签: algorithm prims-algorithm kruskals-algorithm
谁能给出这两种算法的一些应用, 它们可以用于哪些地方和哪些应用程序?
【问题讨论】:
标签: algorithm prims-algorithm kruskals-algorithm
首先对最小生成树进行了研究,以寻找以最小化布线总成本的方式布置电网的方法。在最小生成树中,所有节点(房屋)都将通过电线以最低成本和冗余的方式连接到电源(切断任何电线必然会将电网分成两部分)。
从那时起,这个问题就得到了充分的研究,并且经常被用作更复杂算法中的子程序。用于寻找旅行商问题的近似解的Christofides algorithm 在关键步骤中使用了它,一些用于寻找施泰纳树的算法也是如此。
最小生成树也被用于generate mazes。 Kruskal 和 Prim 的算法都以这种方式使用,通常会创建高质量的迷宫。
如果您对最小生成树问题、其应用和算法的完整历史感兴趣,有一篇真正出色的论文 available here 涵盖了所有这些内容。我强烈建议您阅读一下!
希望这会有所帮助!
【讨论】:
引用维基百科:
一个例子是一家有线电视公司为一个新社区铺设电缆。如果限制仅沿某些路径埋设电缆,则将有一个图表表示哪些点由这些路径连接。其中一些路径可能更昂贵,因为它们更长,或者需要将电缆埋得更深;这些路径将由权重较大的边表示。该图的生成树将是那些没有环但仍连接到每个房屋的路径的子集。可能有几个生成树。最小生成树将是总成本最低的树。
【讨论】:
首先,您必须了解 Prim 和 Kruskal 的算法对于在图中查找 Minimum spanning Tree 很有用。我能想到的最小生成树的实际应用之一是以最少的成本连接同一公司的不同办公室。
【讨论】:
Prims 和 Kruskal 算法都用于找到最小生成树。 现在 Kruskal 和 Prims 算法的应用基本上都是 MST 的应用。那么MST有哪些应用呢?
好吧,回答几个,这里有一些你会发现它们可用的领域:
【讨论】:
【讨论】:
Kruskal 和 Prim 算法的应用经常出现在计算机网络中。例如,如果您有一个带有许多交换机的大型 LAN,那么找到最小生成树对于确保只有最少数量的数据包将通过网络传输至关重要。
【讨论】: