[英]Total cycles in a Undirected graph
給定一個具有N個頂點和M個邊的無向圖,我需要找到圖中的循環數。 但是有一個約束。
這是一個示例:考慮具有6個頂點和7個邊對的圖形:-AB,BC,CF,AD,DE,EF,BE。
這是更好理解的圖像:
然后在這里應計算兩個周期,即ABEDA和BCFEB,而不是ABCFEDA
因此,我需要在圖中找到總周期數。
我認為您正在尋找圖形的周期基礎 。 通過查找圖的任何生成樹(例如DFS或BFS樹)來實現。 圖的非樹邊緣代表循環基礎:如果通過樹上的唯一路徑連接端點,則將獲得基礎元素。
因此,如果連接了圖,則基本元素的數量為m - n + 1
(m =邊數,n =節點數)。 如果未連接,只需將其分解為已連接的組件,然后匯總這些組件的基本元素的數量。 您會得到類似m - n + c
,其中c是連接的組件數。 因此,如果您對實際周期不感興趣,而僅對周期數感興趣,則只需查找已連接組件的數量即可。 您也可以使用DFS或BFS。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.