la Gavoille等人是否有一种带距离标记的最短路径算法的开源实现?

时间:2012-10-29 20:06:01

标签: c# c++ algorithm graph graph-algorithm

如果允许您在图表上的|V|数据量中预先计算线性,那么有一系列算法对图表中的最短路径具有次线性查询时间。

  1. Gavoille等。图中的距离标记。
  2. Cohen等。通过2跳标签进行可达性和距离查询
  3. 亚伯拉罕,戈德堡等人。 Hierarchical Hub Labellings for Shortest Paths
  4. 其中一些用于Bing Maps进行极快的最短路径计算。

    基本思路是为每个顶点前向标签L_f(v)和后向标签L_b(v)预先计算,这会构成封面属性。每个标签是一对顶点和到它的距离,例如, L_f(v) = { (u, dist(v, u)) }L_r(v) = { (u, dist(u, v)) }。并且封面属性断言,对于任何顶点s和t L_f(s)'Union'L_r(t)在从s到t的最短路径上包含至少一个顶点。

    是否有其中一种算法(C ++,C#,F#,D,Go,Java)的开源实现?

1 个答案:

答案 0 :(得分:3)

我没有找到任何实现这些算法的代码,但你可以查看the Karlsruhe homepage,在那里你可以找到Contraction Hierarchies的代码,它构成了(原始)Hub Labeling的基础。您可以使用它来创建自己的HL实现,但您应该知道他们为此提交了patent