![](/img/trans.png)
[英]Can a directed graph have Ω(n^2) cross edges with respect to its DFS tree?
[英]DFS in an undirected graph - can it have cross edges?
在无向图中,是否有可能将一条边出租给已访问过的节点,以导致其顶点不是当前节点的上升点?
更清楚地说,我想在无向图上实现深度优先搜索。 如果遇到连接当前顶点和已访问顶点的边,是否可以通过迭代父数组来保证从一个顶点到另一个顶点的路径?
最自然的答案似乎是肯定的。 我还没有找到反例。 你怎么看?
在DFS术语中:
边缘是否可以成为DFS中的交叉边缘-导致无向图中的一个已发现节点(而不是原点的祖先)的边缘?
DFS发现的边缘不能是交叉边缘,如果其目的地是已发现的节点,则它必须是后边缘-因此它导致了源节点的祖先(在DFS树中)。
证明:
假设情况并非如此,并且在某个节点v
您遇到了一个已发现的节点( u
),该节点不是您的“父级”之一(在DFS树中)。
由于您发现了节点,所以存在边(v,u)
。
但是图形是无向的,因此边缘是对称的。
因为u
已经发现了,你有以下选择:
u
为根的子树,并且u
确实是v
的父级,因此u
已被发现并且尚未“关闭”。 u
被发现并已经关闭。 但是考虑到您刚刚发现v
,并且有一个边(u,v)
,这是不可能的。 因此,导致无向图中已经发现的边缘的边缘必须是后边缘,而不能是交叉边缘。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.