2010-07-05 34 views
2

我有一個非常非常大的圖,我想找到從一個頂點到另一個頂點的最短路徑。該圖是有針對性的和未加權的。有關最短路徑和這樣的算法問題

我已經考慮過使用Dijkstra算法的一些修改,但我通常使用它來計算加權無向圖。

因此,我的另一個想法是使用DFS,因爲我可以將所有權重視爲一個。

有什麼建議嗎? a

編輯:好的,我打算說BFS,我很抱歉。

+1

大約有多少節點你有和多少邊緣? – 2010-07-05 21:57:27

+3

我不推薦使用DFS:http://xkcd.com/761/ – Bolo 2010-07-06 02:20:31

回答

5

嘗試改爲BFS

(請注意,Dijkstra算法適用於不加權的有向圖完全正常的 - 它只是碰巧的是,在未加權的情況下,這樣做瀟灑地基本上等同於一個廣度優先搜索。)

+2

我已將我的答案中的評論合併到此並刪除了我的;如果您(不)喜歡,請隨時刪除評論。 :-) – ShreevatsaR 2010-07-06 05:16:43

1

您是否嘗試過使用A*

+4

使用A *在這裏沒有加權的圖表是絕對沒有意義的......它不會比寬度優先的搜索更好,並且可能需要更多時間(除非你做得正確,在這種情況下,它*是*廣度優先搜索)。 – ShreevatsaR 2010-07-05 22:08:06

+0

我同意ShreevatsaR :) – 2010-07-05 22:13:32