給定一個無向(無長度)圖G =(V,E),其中| V | = n和| E | = m,並且兩個頂點v,w找到算法輸出在G.運行時間最短的VW-路徑的數量應該是O(M + N)尋找最短路徑數的算法
我已被這個問題工作,但有困難讓運行時間爲O(M + N)
既然這個圖是無向和不加權的,我已經試過這種方式。使用BFS來確定最短v-w路徑的長度。然後使用DFS查找v-w最短路徑的數量,以便連接兩個節點,路徑長度等於BFS的輸出。 但是這個計劃的運行時間是O(m + n)+ O(m + n)。
另外我試過修改Dijkstra算法。存儲添加到訪問節點集合的節點時,存儲最短路徑的長度和最短路徑的編號。而且我堅持計算運行時間。
你已經試過了什麼? – thb 2014-09-12 21:55:35
當你發佈信息時,請告訴你已經嘗試了什麼,所以它看起來並不像你剛纔詢問你的行爲的答案,甚至沒有在第一時間找到它,我肯定不是這樣的;) – Mitvailer 2014-09-12 22:33:46
我假設邊緣未加權? – templatetypedef 2014-09-12 22:45:44