我已創建了6個頂點,在視覺上表示這樣的無向圖:http://i.imgur.com/EtQyspG.png在無向圖中查找第n級路徑?
我想編寫一個腳本,可以找到從起點的所有路徑,而不重新訪問在同一個節點,沒有給定終點。
的BFS,DFS,A *算法我看過的每個實例都需要一個最終目的節點。然而,在更大的曲線圖可以是NP-很難找到從點A的所有可能的途徑爲指向Z.爲此,我想找到該是移動一組數範圍內實現的所有目的地的所有路徑(在此曲線圖例如 - 3個移動== 4最大頂點路徑)
我編碼使用PHP陣列與每個鍵是一個頂點和包含在相鄰的點其陣列的圖形:
<?php
$graph[1] = array(2,6);
$graph[2] = array(1,4);
$graph[3] = array(4,5);
$graph[4] = array(2,3,6);
$graph[5] = array(6,3);
$graph[6] = array(1,5,4);
我不知道一個算法,但是這樣執行路徑搜索。我需要的輸出會是這樣的:
Path 1: 1,2
Path 2: 1,2,4
Path 3: 1,2,4,3
Path 4: 1,6
Path 5: 1,6,4,3
Path 6: 1,6,5
Path 7: 1,6,5,3
我沒有問題,編寫所需的代碼,但對於算法/功能(假設樹遍歷的遞歸?)必要的步驟是很難理解的。
問題:什麼方法/算法應使用要做到這一點,和你有一個例子(或至少僞代碼),顯示運行方式給出的圖形輸入數組?