【发布时间】:2015-04-28 13:48:58
【问题描述】:
据我所知,如果在某个任意有向图上存在从顶点“a”到顶点“b”的路径,那么在某些情况下,使用图上的深度优先搜索,该顶点处理完顶点“a”后,可以在搜索中找到“b”。但是,这对我来说似乎是不可能的(在绘制了许多图表之后)。有什么想法吗?
【问题讨论】:
标签: algorithm data-structures depth-first-search directed-graph
据我所知,如果在某个任意有向图上存在从顶点“a”到顶点“b”的路径,那么在某些情况下,使用图上的深度优先搜索,该顶点处理完顶点“a”后,可以在搜索中找到“b”。但是,这对我来说似乎是不可能的(在绘制了许多图表之后)。有什么想法吗?
【问题讨论】:
标签: algorithm data-structures depth-first-search directed-graph
不,你的假设是错误的。这是不可能的。
使用归纳法很容易证明,当顶点“a”的处理完成时,所有从“a”(例如“b”)可到达的顶点都已被发现。
【讨论】:
(a) ---> (a1) ---->(b)
| >
| |
> |
(a2)--------------->(a3)
考虑这个图,顶点(a)有到顶点(b)的路径。
当我们从顶点 (a) 开始运行 dfs 时,输出为 (a),(a1),(b),(a2), (a3)
在 (a) 被访问之后,顶点 (b) 被访问。
【讨论】: