簡體   English   中英

關於連通性的圖論難題?

[英]Graph theory puzzle about connectivity?

您有一個包含n 個節點(編號為 1-n)和m 條邊的圖。 您一個一個地刪除所有節點,並在每一步檢查圖形是否完全連接(通過打印“連接”與否)。 給出了要刪除的節點的順序。

例如,

n = 4 and m = 3 給出的邊為:1 - 2, 2 - 3, 3 - 4. 去除順序為:3, 4, 1, 2

節點編號為 1-n,因此本例中的節點為 1、2、3、4。

最初,圖形是連接的,因此您打印出:

連接的

您首先刪除節點 3。現在圖形斷開連接,因為節點 4 是單獨的。

斷開連接

然后刪除節點 4。現在該圖僅由連接的節點 1 和 2 組成。

連接的

然后刪除節點 1。該圖仍被認為是連通的; 只有一個節點。

連接的

然后刪除節點 2。什么都沒有留下。

示例代碼會有所幫助,最好是 java 或 c++。 我嘗試使用 BFS 和 DFS,但它們太慢了。 執行此操作的最有效方法是什么?

嘗試以相反的順序工作。

一條一條地添加邊並使用不相交的集合數據結構來查找集合何時連接。

暫無
暫無

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

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