1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018年2月4日 |
---|
#7 in #increasing
33KB
769 代码行
short-paths
这是根据 Eppstein 在 这篇论文 中描述的算法实现的在图中找到短 s-t 路径。具体来说,它按照第 2 节中描述的方法构建路径图,然后从路径图的根节点进行类似 Dijkstra 的遍历,以生成按长度递增的路径。
因为我们使用 Dijkstra 算法的基本实现来生成最短路径树,预处理步骤的时间复杂度为 O(m log n)。此外,由于我们没有使用任何复杂的堆选择算法,并且我们返回的是边列表的完整路径而不是隐式地返回,生成第 i 条路径的时间复杂度为 O(log i + e),其中 e 是该路径中的边数。
依赖项
~1MB
~16K SLoC