Kruskal和Prim算法的应用

时间:2011-09-06 13:12:40

标签: algorithm prims-algorithm kruskals-algorithm

有谁能请给出这两种算法的一些应用, 他们可以在哪里和哪些应用程序?

6 个答案:

答案 0 :(得分:19)

首先研究最小生成树,以便以最小化布线总成本的方式布置电网。在最小生成树中,所有节点(房屋)将通过电线连接到电源,其成本和冗余最小(切割任何电线必须将电网切割成两块)。

从那以后,这个问题得到了很好的研究,并且经常被用作更复杂算法的子程序。 Christofides algorithm用于查找旅行商问题的近似解决方案,在关键步骤中使用它,一些查找Steiner树的算法也是如此。

generate mazes也使用了最小生成树。 Kruskal和Prim的算法都以这种方式使用,通常可以创建高质量的迷宫。

如果您对最小生成树问题,其应用程序及其算法的完整历史感兴趣,那么有一篇真正优秀的论文 available here 涵盖了所有这些问题。我强烈建议你读一读!

希望这有帮助!

答案 1 :(得分:4)

引用维基百科:

  

一个例子是有线电视公司将电缆铺设到新社区。如果仅限于沿某些路径埋设电缆,则会有一个图表表示哪些点通过这些路径连接。其中一些路径可能更昂贵,因为它们更长,或者需要将电缆埋得更深;这些路径将由具有较大权重的边表示。该图的生成树将是那些没有周期但仍连接到每个房屋的路径的子集。可能有几棵生成树。最小生成树将是总成本最低的树。

来源:http://en.wikipedia.org/wiki/Minimum_spanning_tree

答案 2 :(得分:1)

首先,您必须了解Prim和Kruskal的算法对于在图表中查找Minimum spanning Tree非常有用。我认为最小生成树的一个实际应用是以最低成本连接同一公司的不同办公室。

答案 3 :(得分:0)

  • 拓扑
  • 制图
  • 几何
  • 聚类
  • 路由算法
  • 迷宫的生成
  • 机械/电气/计算机网络
  • 化学中的分子键研究

答案 4 :(得分:0)

Kruskal和Prim的算法的应用经常出现在计算机网络中。例如,如果您有一个包含许多交换机的大型LAN,则查找最小生成树对于确保仅通过网络传输最少数量的数据包至关重要。

答案 5 :(得分:0)

使用Prims和Kruskal算法来查找最小生成树。 现在,Kruskal和Prims算法的应用基本上就是MST的应用。那么MST的应用是什么?

好吧,请回答几个问题,以下是一些您将发现它们可用的领域:

  1. 如果您想使用高速公路或铁路网络连接多个城市,则可以使用这些算法来找到连接所有这些城市的道路/铁轨的最小长度。
  2. 网络设计-假设您的公司有多个办公室。您必须租用电话线才能连接所有这些办公室。因此,您可以利用这些算法找出以最少的电话线连接所有办公室的最低成本。
  3. 可用于查找旅行推销员问题。使用MST,这是一个非常著名的问题。
  4. 您要应用一套房屋-电力,电话线,排污线。
  5. 设计局域网。