給定一個鄰接矩陣,如何找到兩個節點之間的最短路徑,同時遍歷每個點至少一次並返回它需要的移動次數?在鄰接矩陣中尋找路徑
例
鑑於這種陣列
int[][] points = { { 0, 1 },{ 0, 2 },{ 1, 2 },{ 1, 3 },{ 3, 4 } };
我使像這樣的鄰接矩陣...
0 1 2 3 4
0 [0] [1] [1] [0] [0]
1 [1] [0] [1] [1] [0]
2 [1] [1] [0] [0] [0]
3 [0] [1] [0] [0] [1]
4 [0] [0] [0] [1] [0]
從0最短路徑 - 圖4是(0-2 )(2-1)(1-3)(3-4)並計爲4次移動。
我真的不知道如何去更進一步。可能是最小生成樹解決方案?提前致謝。
http://en.wikipedia.org/wiki/Shortest_path;隨你選。 – 2013-04-07 23:50:49
遍歷每個點至少一次 - >聽起來類似於[哈密爾頓路徑](http://en.wikipedia.org/wiki/Hamiltonian_path),這不是一個容易解決的問題。 – Dukeling 2013-04-07 23:53:11
[約翰遜算法](http://en.wikipedia.org/wiki/Johnson%27s_algorithm)在[這裏](http://stackoverflow.com/q/2939877/230513)被檢查。 – trashgod 2013-04-07 23:53:23