【问题标题】:Find shortest path using Boost Dijkstra with specified MAX DISTANCE使用指定 MAX DISTANCE 的 Boost Dijkstra 查找最短路径
【发布时间】:2012-06-23 03:14:43
【问题描述】:

我喜欢使用 boost 的 dijkstra 实现来找到节点的最短路径

但是,在我当前的问题中,我有一个巨大的图表,只需要找到到一定距离内的节点的最短路径

我可以自己实现这个,但我相信 boost 的实现比我的效率高得多,所以我更喜欢使用 boost 来完成任务

我只是想知道如果节点太远,是否有办法告诉 boost 的 dijkstra 停止寻找最短路径——因为在这种情况下它会显着加快算法速度

【问题讨论】:

  • 我现在面临同样的问题。基本上应该可以从访问者那里停止算法。然而,我担心当只需要少数几个顶点时,索引仍将被构建为所有顶点的大小。
  • 确实如此,已经有一段时间了,我决定自己实现dijkstra算法。这对我的需要来说要快得多
  • 如果有这样的功能,我也会很感兴趣......

标签: c++ boost shortest-path dijkstra


【解决方案1】:

这是对 Dijkstra 算法的一个非常简单的修改。当您从顶点 v 迭代出边时,只需忽略每个边 e,其中 e.weight + v.dist > max

【讨论】:

    猜你喜欢
    • 2015-05-19
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多