gpt4 book ai didi

c# - 在 QuickGraph 中创建无向图并使用 BFS 遍历它

转载 作者:太空狗 更新时间:2023-10-29 23:35:23 24 4
gpt4 key购买 nike

我正在尝试弄清楚如何使用 QuickGraph for C# 创建无向加权图的新实例。

我的目标是创建一个无向加权图,其中填充了随机数量的节点和随机生成的开始和结束节点,其最短路径可以使用广度优先搜索算法找到。

文档不多,所以如果有人可以提供任何帮助,我们将不胜感激。

最佳答案

Richard,QuickGraph 不会为您做任何这些,它只会提供您可以订阅的事件。通过订阅这些事件,您可以做出相应的响应。来自公认缺乏关于深度优先搜索的 QuickGraph 文档(是的,我知道你在做 BFS 而不是 DFS,但如何订阅事件的概念是相同的):

  1. InitializeVertex,在开始计算之前在每个顶点上调用,
  2. DiscoverVertex,在第一次遇到顶点时调用,
  3. ExamineEdge,在发现每个顶点后在每个顶点的每个出边上调用,
  4. TreeEdge,在每条边成为构成搜索树的边的成员时调用。
  5. FinishVertex,在顶点的所有外边都被添加到搜索树并且所有相邻顶点都已被发现之后(但在它们的外边被检查之前)调用。

顺便说一句,打开 Reflector 并查看 QuickGraph.Algorithms.Observers。使用与 BFS 不同的方法,您的最短路径要求会更容易。

关于c# - 在 QuickGraph 中创建无向图并使用 BFS 遍历它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2348251/

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