C# la Gavoille等人是否有距离标记的最短路径算法的开源实现。?

C# la Gavoille等人是否有距离标记的最短路径算法的开源实现。?,c#,c++,algorithm,graph,graph-algorithm,C#,C++,Algorithm,Graph,Graph Algorithm,如果允许您预先计算图形上的线性数据量,则有一系列算法具有图形中最短路径的次线性查询时间 Gavoille等人。图中的距离标记 Cohen等人。通过两跳标签的可达性和距离查询 亚伯拉罕、戈德伯格等人 其中一些用于极快的最短路线计算 基本思想是为每个顶点预先计算前向标签L_f(v)和后向标签L_b(v),这构成了一个覆盖属性。每个标签是一对顶点及其距离,例如L_f(v)={(u,dist(v,u))}和L_r(v)={(u,dist(u,v))}。而覆盖属性断言,对于任何顶点s和tL_f(s)“并集

如果允许您预先计算图形上的线性数据量,则有一系列算法具有图形中最短路径的次线性查询时间

  • Gavoille等人。图中的距离标记
  • Cohen等人。通过两跳标签的可达性和距离查询
  • 亚伯拉罕、戈德伯格等人
  • 其中一些用于极快的最短路线计算

    基本思想是为每个顶点预先计算前向标签
    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)
    “并集”
    L_r(t)
    在从s到t的最短路径上至少包含一个顶点


    是否有这些算法(C++、C#、F#、D、Go、Java)的开源实现?

    我还没有找到任何实现这些算法的代码,但您可以看看哪里可以找到压缩层次结构的代码,它们构成(原始)中心标签的基础。你可以用它来创建你自己的HL实现,但你应该知道他们为此提交了一份申请。

    谢谢你指出这项专利!为了避免OSRM严格的AGPL许可,我从一开始就为GraphHopper实现了收缩层次结构的替代实现,现在是:/。。。但我会问OSRM的作者,因为他也不在专利人名单上……啊,好的。我的错。这项专利不是关于收缩层次的,但仍然很奇怪。现在我将关注这一点。再次感谢!