簡體   English   中英

緊密連接圖

[英]Strongly connected Graph

我有一個緊密聯系的圖。 我想移除邊緣並檢查是否仍然保持牢固連接。 由於我將N =圖中的節點總數設為10,而我感興趣的大多數圖都具有25個以上的邊緣,因此很難一次使用一個邊緣來檢查。

如何解決這個問題呢 ? 謝謝。

如果您刪除的邊是( u- > v ),則當您找到從uv的路徑時,圖形將保持連接。 您可以使用任何路徑查找算法進行檢查。

另一個選擇是每次都從頭開始運行連接檢查算法。 這樣做並不重要,因為圖形很小。

對於較大的圖,有專門針對此問題設計的特殊數據結構。 稱為“動態連接”: https : //en.wikipedia.org/wiki/Dynamic_connectivity

[編輯:DFS比僅檢查連接性的Dijkstra快,這要歸功於JørgenFogh]

如果要刪除的邊緣是uv,請檢查(例如使用DFS)是否還存在路徑u-> ...-> v。 如果是這樣,則該圖形之前仍然牢固連接。 如果沒有,那么顯然不再牢固連接。

這個想法是,先前使用邊緣uv的兩個頂點x和y之間的任何路徑都可以編輯為使用新路徑u-> ...-> v。 僅用新路徑替換邊緣uv可能會導致某些頂點被多次訪問-但在這種情況下,該路徑包含一個或多個有向環,可以將其刪除,直到其余路徑最多訪問每個頂點一次。

暫無
暫無

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

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