【发布时间】:2015-11-30 20:50:18
【问题描述】:
所以这是我遇到的问题:我需要一个算法,给定一组n 坐标点(x;y) 将所有点连接在一起的最短路径是什么,完全没有限制,这意味着单个点可以链接到任意数量的其他点。
解决问题的第一个想法是针对每个未链接的点,找到最近的点并链接到它,然后从未链接的点列表中删除这两个点并重新开始,直到没有更多不喜欢的点。在这个阶段你已经创建了近点块。然后你链接这些块找到它们之间的最短距离。
这种方法的问题是1.它没有给出最短路径2.看起来效率很低,所以我问你,这种计算是什么类型的算法(我只需要点之间的总距离,我不关心它们实际上是如何关联的)?
【问题讨论】:
-
听起来像是TSP的变体
-
不太像想象的那样,因为在这里我可以随心所欲地去“城市”。
-
有什么限制?图中权重的最佳配置是 NP 完全的,所以也许在 N
标签: algorithm