簡體   English   中英

無向圖中的DFS-可以有交叉邊嗎?

[英]DFS in an undirected graph - can it have cross edges?

在無向圖中,是否有可能將一條邊出租給已訪問過的節點,以導致其頂點不是當前節點的上升點?

更清楚地說,我想在無向圖上實現深度優先搜索。 如果遇到連接當前頂點和已訪問頂點的邊,是否可以通過迭代父數組來保證從一個頂點到另一個頂點的路徑?

最自然的答案似乎是肯定的。 我還沒有找到反例。 你怎么看?

在DFS術語中:
邊緣是否可以成為DFS中的交叉邊緣-導致無向圖中的一個已發現節點(而不是原點的祖先)的邊緣?

DFS發現的邊緣不能是交叉邊緣,如果其目的地是已發現的節點,則它必須是后邊緣-因此它導致了源節點的祖先(在DFS樹中)。

證明:

假設情況並非如此,並且在某個節點v您遇到了一個已發現的節點( u ),該節點不是您的“父級”之一(在DFS樹中)。
由於您發現了節點,所以存在邊(v,u)
但是圖形是無向的,因此邊緣是對稱的。

因為u已經發現了,你有以下選擇:

  1. 在這種情況下,您基本上已經遍歷了以u為根的子樹,並且u確實是v的父級,因此u已被發現並且尚未“關閉”。
  2. u被發現並已經關閉。 但是考慮到您剛剛發現v ,並且有一個邊(u,v) ,這是不可能的。

因此,導致無向圖中已經發現的邊緣的邊緣必須是后邊緣,而不能是交叉邊緣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM