- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 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/
Q1 - 如何将边与类相关联? (即,就像您可以使用顶点一样) 在我的例子中,我希望能够对各种类型的边进行建模。所以我想我真正的问题是如何将某种级别的数据与边缘(例如边缘类型)相关联。 我正在查看的图
作为我第一次使用 C#(在 Mono 2.6.7 上)进行实验的一部分,我尝试使用 QuickGraph 中的 StronglyConnectedComponents 方法。这是我的代码: using
我想在 Win8 Metro 风格应用程序中使用 QuickGraph 库。但是我没有设法在新创建的应用程序中引用它。我使用了简单的空白应用程序模板。我尝试通过 Nuget 安装它,但出现以下错误:
如何使用 QuickGraph 查找两个顶点之间的所有路径?这是我的自定义图表: public class MyGraph : BidirectionalGraph() { } 样本中只有最短路径。有
我正在弄清楚 Quickgraph 是否对我的问题有益(F# 项目)。它有图形缩减函数/算法吗?类似于Matlab的simplify functions . 此外,我在查找 Quickgraph 的体
我进行路径查找库。 QuickGraph,一个开放的图形库,符合我的所有要求,但我遇到了一个问题。我需要最短路径算法来跳过当前移动代理无法通过的边缘。我想要的是这样的: Func, double> c
我有一个 AdjacencyGraph>我想运行 AlgorithmExtensions.ShortestPathsDijkstra上,但 QuickGraph 文档并不是最好的。 谁有我可以效仿的例
我是图论新手。 我用 QuickGraph library 创建了一个邻接图最后,我想从图中获得连接的组件。 open QuickGraph let tup = [(1M,1M); (2M, 18M)
这是我的问题的一个示例。 我想以这样的方式用 C# 进行编码,以便我可以询问结构并找到如下信息: 从A到B的总距离。 从A到E的最短距离(保持在请注意,您不能逆着箭头的方向前进)。 所以我想我应该使用
我是 QuickGraph 的新手.我按照文档页面上的示例将顶点和边添加到我的图形中。现在,我想在 Windows 窗体上显示我的图表。为此,我正在使用 Graphviz,它会生成一个 .DOT 文件
在 QuickGraph 中 - 是否有用于查找一组顶点的所有父项(直到根顶点)的算法。换句话说,所有在它们下方某处(在通往叶节点的路上)一个或多个顶点输入的顶点。因此,如果顶点是节点,而边是依赖关系
我有几个节点(无向图,双向)...每两个节点有一个距离... 1 - 如何使用 QuickGraph 创建该网络?2 - 计算两个节点之间最佳最短路径的正确算法是什么(考虑到之前可能会传入其他节点,例
我使用的是 QuickGraph 3.6 版,我找到了函数 SetRootVertex,但没有找到 SetTagretVertex。我需要这个,因为我正在巨大的图中搜索短路径,这会大大加快程序速度。
我在尝试使用 QuickGraph 的 AdjacencyGraph 类 时遇到问题。请允许我先展示我的代码,然后描述问题: using System.Collections.Generic; usi
是否可以创建和渲染简单的 indent trees在 C# 中使用 QuickGraph library ? 最佳答案 来自documentation : QuickGraph itself does
我正在尝试弄清楚如何使用 QuickGraph for C# 创建无向加权图的新实例。 我的目标是创建一个无向加权图,其中填充了随机数量的节点和随机生成的开始和结束节点,其最短路径可以使用广度优先搜索
我想使用 QuickGraph 在 C# 中使用 GraphViz 绘制一些图形。我查看了 CodePlex 提供的库和 CodeProject .他们看起来很不一样。 两者之间的主要区别是什么? 最
出于便携性原因,QuickGraph 3.6 不允许 .net (4.0) 二进制序列化。当你想要持久化大图时,这是必要的。不幸的是,作者提供的源代码无法编译,因此无法启用(二进制)序列化。正如您在这
我们想开始使用 QuickGraph . 不幸的是,我们暂时停留在 .NET 3.5 上,而且 QuickGraph 似乎只能通过 NuGet 和 .NET 4.0 或更高版本使用。 我们已经尝试下载
怎么了? using QuickGraph; using GraphSharp; public class State { publi
我是一名优秀的程序员,十分优秀!