建立建筑物室内图以实现路径查找的有效方法?

时间:2017-02-28 04:33:35

标签: ios graph-theory dijkstra path-finding


可以说,我的数据集是一个购物中心 我必须为它构建一个图表。每当被问到,我必须从一个商店到另一个商店生成一条路径(最短路径) 现在我的问题是,

  1. 构建整个建筑的图形并生成是否有效 路径?

  2. 或者在它们之间构建图形(类似于子图) 当用户需要时,只有2个节点及其所有连接器(边缘) 找到路径?

  3. 我必须为移动应用程序实现此功能,其中所有数据都是从服务器加载的 我当前的代码构建了整个图形。但是我想将它用作未来使用的库。
    如果它仅适用于当前建筑物,那么它可以正常工作。
    但假设将来会使用另一种类型的数据集,这种数据集太大而不是当前的数据集,那么这些方法中的哪一种更有效?
    这是我能想到实现它的两种方法。如果有任何其他解决方案,那将非常感谢!

    其次,我使用Dijkstra的算法进行路径寻找,是否适用于这种情况?

    任何帮助都将受到高度赞赏,

    感谢。

1 个答案:

答案 0 :(得分:0)

  
      
  1. 构建整个建筑的图形并生成路径是否有效?
  2.   
  3. 当用户需要找到时,只在2个节点及其所有连接器(边缘)之间构建图形(类似子图)   路径?
  4.   

如果图是先验已知的,那么就查询时间而言,最有效的解决方案是生成整个图并对其进行预处理。然后,您将查询合同图并具有非常快的查询时间。在Contraction hierarchies查找示例,因为它是最广泛使用的技术之一。否则,当图形必须在运行时构建时,我认为这就是你的第二点,你可以使用A *或双向Dijkstra。在第一个我认为你可以提出的最好的启发式是直线距离,所以可能不是很有帮助。

  

其次,我正在使用Dijkstra的算法进行路径查找   适合这种情况吗?

是的,但是我总是使用双向Dijkstra,它实现起来并不困难,并且通常比单向Djikstra的时间要求有很大的改进。 SO中的一些相关问题:12