给定一组笛卡尔点,找到将所有点连接在一起的最短的全长网络

时间:2019-04-15 00:59:42

标签: python algorithm graph minimum-spanning-tree

(只是为了透明起见,我想马上提到这是一个作业问题)。

我有一组(x,y)点,包括一个特定的起点。我想找到总长度最短的网络,以便从起点可以到达每个点。

我知道这反映了图形中的MST,但是问题是这些点未在图形中排列,而是未连接。我知道我可以通过将每个点连接到其他点并运行Prim-Jarnik来找到有效的MST,但是在这种情况下,对于集合中的点数,仅创建图将是O(n ^ 2),对吧?

我找到了a similar question,但建议使用称为Delaunay三角剖分的方法从这些点创建图形,然后在其上运行Prim-Jarnik。我很确定这超出了我的课程期望的范围,因为这是一门介绍算法/数据结构的课程,并且从未提及过。

找到解决方案的方法是否比在n ^ 2时间内创建图形然后运行Prim-Jarnik(无高级几何)的方法更有效,还是我们能做到的最好?

0 个答案:

没有答案