使BGL Dijkstra_shortest_paths尊重距离阈值

时间:2018-08-29 12:53:19

标签: boost dijkstra

我在该主题上找不到太多资源,最接近的资源是this onethis one

我的问题如下:我想设计一个Dijkstra访问者,当结果距离大于某个最大值max_d时,该访问者基本上跳过松弛边缘的计算。

这等效于NetworkX库中通过cutoff参数使用的想法。

据我所知,我已经确定需要创建一个覆盖edge_relaxed操作的访问者。

然后,这将使我能够访问图e的边缘g,因此该策略将是通过target(e, g)访问边缘的目标。

但是,首先,我很难到达目标顶点的距离。

其次,我该如何制作算法,然后跳过其余的计算,包括边缘的实际松弛,如果新顶点仍为白色则发现新顶点,以及如果已经为灰色则减少关键点

我能找到的唯一示例都使用了try-catch系统,但我不想结束算法:我只想继续内部for循环。

0 个答案:

没有答案