如何确定方向图中两个任意顶点之间是否存在连接?

时间:2014-12-16 09:10:51

标签: c# graphing quickgraph

我想知道我应该使用Quickgraph库(C#)中的哪些类和函数来查明方向图中两个任意顶点之间是否存在连接?

我是编程的初学者,特别是编程算法,所以我很乐意问你是否能为我提供上述问题的示例代码,主要是因为Quickgraph库没有为初学者提供许多特定于问题的教程。 ecially

图表规范:

  • 定向
  • 未加权(距离不重要,只是顶点/边缘之间的连接)
  • 图表是动态的,因此可以添加/删除或编辑顶点/边。

1 个答案:

答案 0 :(得分:0)

嗯,我还没有测试过,但基本的DFS / BFS应该可以做到这一点:

var tryGetPaths = _graph.TreeBreadthFirstSearch(__source__);
IEnumerable<Edge<YourItemType>> path;
if (tryGetPaths(__target__, out path))
{
    // we have connectivity!
}

检查是否存在从来源目标的任何连接。您可能也希望反过来运行该检查。