algorithm - 如何在3d空间中使用Prims算法

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

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

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

最佳答案

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

3D grid

对于图形中的每个交点,您都会创建一个新顶点,对于交点之间的每条线,您都会在图形中创建一条新边。

由于您最终得到的是规则图,因此可以使用 Prim 算法。

如果您想要更高的粒度,您可以省略障碍物所在的顶点和边,并减小立方体的大小。

关于algorithm - 如何在3d空间中使用Prims算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29456615/

相关文章:

c++ - 避免整数乘法和除法溢出

algorithm - 对 HTTP post 对象进行分类的最便宜的方法

algorithm - Bellman-Ford 视觉示例

algorithm - 具有不同约束的网络流

java - 所有对最短路径 Udaya Kumar Redd 算法

c++ - 我如何找到简单哈希算法的冲突

algorithm - 持久联合查找,偶尔删除

algorithm - 如果已知边数,创建最小生成树的时间复杂度

graph - 从遍历中选择路径并过滤目标顶点(OrientDB)

algorithm - 关于 A* 算法的可信引用