我在该主题上找不到太多资源,最接近的资源是this one和this one。
我的问题如下:我想设计一个Dijkstra访问者,当结果距离大于某个最大值max_d
时,该访问者基本上跳过松弛边缘的计算。
这等效于NetworkX库中通过cutoff
参数使用的想法。
据我所知,我已经确定需要创建一个覆盖edge_relaxed
操作的访问者。
然后,这将使我能够访问图e
的边缘g
,因此该策略将是通过target(e, g)
访问边缘的目标。
但是,首先,我很难到达目标顶点的距离。
其次,我该如何制作算法,然后跳过其余的计算,包括边缘的实际松弛,如果新顶点仍为白色则发现新顶点,以及如果已经为灰色则减少关键点
我能找到的唯一示例都使用了try-catch系统,但我不想结束算法:我只想继续内部for循环。