2

我有一个可能很简单的问题,但是当最后期限迫近时,大脑停止工作,所以有:

我有一个包含 N 个节点的无向​​完整图。我有一个起始节点,并且我有从每个节点到其他节点的距离矩阵。我想运行 Dijkstra 算法或任何其他可以找到从起始节点访问所有节点的最短方法的算法。我只想访问每个节点一次。我相信它是一个完整的图,其中每个节点都连接到其他节点,这会使问题变得更容易,但我无法全神贯注地对其进行编码。我正在使用 C#。我之前已经问过另一个问题,但这是在较早的阶段,我对这个问题知之甚少。是否有任何可用的代码片段或伪代码,或者如果有人可以让我开始,我将非常感激。

我一直在查看 QuickGraph 及其文档和其他在线资源,但我无法弄清楚我需要什么作为参数来运行算法。更准确地说,我不明白下面的代码:

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);

上面的代码片段取自:http
: //quickgraph.codeplex.com/wikipage?title=Dijkstra%20Shortest%20Distance%20Example 如果任何有 quickgraph 经验的人可以简单地向我解释我需要做什么使用以下可以拯救我的功能。

为了解释我所拥有的,我有一个点 (x,y) 列表,我想从中构建一个图表,但只显示最短路径的边缘。

链接到我的旧帖子:
在 C# 中的 List<Point> 上运行 Dijkstra 算法

4

0 回答 0