遍历图形并列出沿给定路径访问的顶点

时间:2018-04-09 12:20:49

标签: graph-theory graph-algorithm depth-first-search breadth-first-search graph-traversal

图形包含'n'个节点和'n-1'个边缘,因此,任意两个节点之间的唯一路径。

好的,所以我知道如何在图形中找到位于路径上的顶点(给定:源,目标)。可以使用DFS或BFS轻松完成。

示例:

enter image description here

输入
条目列表,每个条目包含源和目标顶点
输出
条目列表,每个条目包含与输入条目对应的“路径上的顶点”。

Source Destination  Vertices on path
  5         4           5 4
  3         5           3 4 5
  1         3           1 5 4 3
  3         5           3 4 5
  5         4           5 4

我目前的解决方案
目前,我在每个给定路径上运行迭代DFS,并找到位于该路径上的顶点。

问题/问题
当给定的节点数和路径数不大(~100,000)时,在每个给定路径(对于所有路径)上找到顶点是耗时的任务。(对于具有100,000个节点的图,在每个路径上运行DFS为100,000个路径)。我想知道解决这个问题的更好方法。我可以使用什么数据结构或算法来代替我当前的解决方案。有时候,我也遇到了StackOverflow错误,我认为这是由于深度递归造成的。

0 个答案:

没有答案