我需要你的幫助來解決問題。這是編碼練習的一部分,我無法完全解決。找到圖的最大長度
假設我們有如下圖:
我需要建立一個計算路徑的最大長度的類。我沒有根,不得不用每個頂點作爲起點。該方法有一個最大重複次數的參數,所以如果這個1,我們可以通過每個邊一次,如果它是2,我們可以通過一個每條邊最多2次。
在這種情況下,如果重複= 1,最大路徑應該是(B,A,C)。它重複= 2,那麼最大路徑應該是(B,A,B,A,C,C)。
爲了不重複地解決問題,我想構建一個鄰接表並運行DFS來查找圖中的所有路徑並提取最大值。我認爲這應該適用於更簡單的情況。
但我不知道該怎麼辦,當我們可以重複邊緣。我可以用什麼樣的算法來解決這個問題。你也可以想到一個更有效的方法來解決這個問題嗎?
感謝
當然,如果每一個邊緣可以訪問一次(大概每一個節點都可以造訪的任何數量的),你應該得到BABCC? BAC甚至不是你繪製的圖形的有效路徑。 – Sysyphus