[英]Distinguish Graph from Tree using Adjacency Matrix
給定一個鄰接矩陣,有沒有辦法確定圖是樹還是圖(是否有環)。
例如,給定鄰接矩陣:
0 1 0 1
1 0 0 1
0 0 0 1
1 1 1 0
這不是樹,因為頂點 1、頂點 2 和頂點 4 之間存在循環。
而給定鄰接矩陣:
0 0 0 1
0 0 0 1
0 0 0 1
1 1 1 0
這是一棵樹,因為沒有循環。
解決這個問題的一種方法是執行 BFS,但我認為圖的鄰接矩陣和樹的鄰接矩陣之間可能存在視覺差異。
任何幫助,將不勝感激!
您可以使用具有 N 個節點的樹恰好具有 N-1 條邊的事實。 任何表示樹的鄰接矩陣都將恰好有 2(N-1) 個 1,因為每個邊在矩陣中設置兩位(對角線上沒有 1,因為樹沒有自邊)。 此外,由於樹必須連接,因此每行和每列必須至少有一個 1。 如果允許您假設對角線對稱(即它是一個有效的鄰接矩陣),那么每行至少檢查一個 1 就足夠了。
但是,這些只是初步檢查,我認為沒有一種簡單的方法可以在沒有 BFS 或類似的情況下實際顯示連接性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.