我想知道如何计算给定的一对节点之间的距离,例如节点"i“和"j”这是具有100个节点和连通性3的随机正则图中节点2和12的最小示例
julia> using LightGraphs
julia> L = random_regular_graph(100, 3)
julia> paths= dijkstra_shortest_paths(L, 2)
julia> distances = paths.dists
julia> d = distances[12]这种方法的问题是,为了知道感兴趣的两个节点之间的距离,我必须计算所有节点和节点2之间的距离。
发布于 2020-12-01 09:04:11
如果只需要从特定源到特定目的地的最短路径,请考虑使用A*
julia> g = CycleGraph(10)
{10, 10} undirected simple Int64 graph
julia> a_star(g, 1, 8)
3-element Array{LightGraphs.SimpleGraphs.SimpleEdge{Int64},1}:
Edge 1 => 10
Edge 10 => 9
Edge 9 => 8如果您只对(未加权的,单位)距离感兴趣,请使用gdistances
julia> gdistances(g, 1)[8]
3在任何情况下,都不要从DijkstraResult访问.dists字段。使用dists()方法作为访问器。LightGraphs结构的内部结构不能直接使用。
https://stackoverflow.com/questions/65081846
复制相似问题