如何在三维空间中使用Prims算法

时间:2015-04-05 11:05:37

标签: algorithm graph-algorithm shortest-path minimum-spanning-tree

我想知道如何在3d空间中使用Prim算法。将其置于上下文中:我想计算所有可能的和最短/最有效的方法,以便在考虑到3d空间中的一些不可用的点/约束的情况下将电缆铺设在墙上。

任何想法如何建模(从算法上和技术上)?我知道常见的最短路径和最小/最大生成树算法,但直到现在才在二维空间中学习/使用它们。

1 个答案:

答案 0 :(得分:2)

您只需将3D墙转换为图形即可。假设我们的墙是一个简单的立方体,我们将它分成许多小立方体:

3D grid

对于每个交点,您在图表中创建一个新顶点,并在交点之间的每条线上创建图表中的新边。

由于您最终得到了常规图形,因此可以使用Prim算法。

如果想要更高的粒度,可以省略障碍物所在的顶点和边,并减小多维数据集的大小。