玉树临风的马克杯 · Spark/Scala/SparkSQL问题 ...· 1 月前 · |
热心的酱肘子 · 在StringTemplate中迭代遍历列表 ...· 1 月前 · |
完美的开心果 · 使用java8API遍历过滤文件目录及子目录 ...· 1 月前 · |
绅士的跑步机 · Java开发笔记(九十五)NIO配套的文件工 ...· 1 月前 · |
冷冷的夕阳 · 怎么把find_elements的网页搜索结 ...· 1 月前 · |
从未表白的蜡烛 · Unity 发布的PC ...· 3 月前 · |
宽容的抽屉 · Access如何筛选重复数据以及Select ...· 4 月前 · |
腹黑的剪刀 · 目标检测模型NanoDet(超轻量,速度很快 ...· 1 年前 · |
爽快的大熊猫 · [Day14] Jayspt 介紹 - ...· 1 年前 · |
面冷心慈的开心果 · (三)Spring Boot的使用 ...· 1 年前 · |
我正在尝试弄清楚如何使用C#的QuickGraph创建一个新的无向加权图实例。
我的目标是创建一个无向加权图,其中填充了随机数量的节点和随机生成的开始和结束节点,这些节点的最短路径可以使用广度优先搜索算法找到。
文档没有太多内容,所以如果有人能提供任何帮助,我们将不胜感激。
发布于 2011-06-14 22:27:05
理查德,QuickGraph不会为你做任何这些事情,它只提供你可以订阅的事件。通过订阅这些事件,您可以做出相应的响应。从公认缺乏深度优先搜索的QuickGraph文档(是的,我知道您正在做的是BFS而不是DFS,但是如何订阅事件的概念是相同的):
在开始计算之前在每个顶点上调用
顺便说一下,打开Reflector并查看QuickGraph.Algorithms.Observers。使用不同的方法比使用BFS更容易满足您的最短路径要求。
发布于 2010-08-03 04:42:19
目前还没有关于这个算法的文档;但是有一个下一个最好的东西(或者甚至更好的东西):单元测试!
如果您下载QuickGraph源代码,并找到
BreadthFirstAlgorithmSearchTest.BreadthFirstSearchAll()
,您将看到该算法的示例用法,该算法在测试项目中的所有有向图上运行。
发布于 2020-01-25 01:41:58
在Github上有一个简短的线程,其中有一个有用的基本示例,说明如何设置BFS并从中获得一些结果。
特定于您的应用程序的其他详细信息(创建随机图等)显然不在本例中。
来源: https://github.com/YaccConstructor/QuickGraph/issues/189#issuecomment-487493207
下面是一个完整的示例:
UndirectedGraph g= new UndirectedGraph();g.AddVerticesAndEdge(new UndirectedGraph(g);var UndirectedGraph();var rootVertex = "0";using (observer.Attach(algo)) { algo.Compute(rootVertex);} var targetVertex = "3";bool foundPath = observer.TryGetPath(targetVertex,out IEnumerable path);
然后,路径将包含两条边:
:"0"->"2“1:"2"->"3"
https://stackoverflow.com/questions/2348251
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287