gpt4 book ai didi

c# - QuickGraph Dijkstra 示例

转载 作者:太空狗 更新时间:2023-10-29 22:04:22 28 4
gpt4 key购买 nike

我有一个 AdjacencyGraph<string, Edge<string>>我想运行 AlgorithmExtensions.ShortestPathsDijkstra上,但 QuickGraph 文档并不是最好的。

谁有我可以效仿的例子?

我在 Google 上找到的所有内容都使用了观察者,即 AlgorithmExtension不需要。

最佳答案

我已经更新了文档,但简而言之,您需要一个图、一个边权重图(作为委托(delegate))和一个根顶点。 AlgorithmExtensions 方法返回一个“TryFunc”,您可以查询它以获取最短路径。

using QuickGraph;
using QuickGraph.Algorithms;

IVertexAndEdgeListGraph<TVertex, TEdge> graph = ...;
Func<TEdge, double> edgeCost = e => 1; // constant cost
TVertex root = ...;

// compute shortest paths
TryFunc<TVertex, TEdge> tryGetPaths = graph.ShortestPathDijkstra(edgeCost, root);

// query path for given vertices
TVertex target = ...;
IEnumerable<TEdge> path;
if (tryGetPaths(target, out path))
foreach(var edge in path)
Console.WriteLine(edge);

关于c# - QuickGraph Dijkstra 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/703871/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com