#path #graph #order #length #increasing #short #edge

short-paths

按长度递增顺序遍历图中的 s-t 路径

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年2月4日

#7 in #increasing

MIT 许可证

33KB
769 代码行

short-paths

这是根据 Eppstein 在 这篇论文 中描述的算法实现的在图中找到短 s-t 路径。具体来说,它按照第 2 节中描述的方法构建路径图,然后从路径图的根节点进行类似 Dijkstra 的遍历,以生成按长度递增的路径。

因为我们使用 Dijkstra 算法的基本实现来生成最短路径树,预处理步骤的时间复杂度为 O(m log n)。此外,由于我们没有使用任何复杂的堆选择算法,并且我们返回的是边列表的完整路径而不是隐式地返回,生成第 i 条路径的时间复杂度为 O(log i + e),其中 e 是该路径中的边数。

依赖项

~1MB
~16K SLoC