2013-03-18 38 views
0

我有算法記錄每個節點的最短路徑,需要打印出來作爲一個樹狀結構...例如:打印Dijkstra算法爲一棵樹

溫哥華 - 奧林匹亞 -Lacey -Tacoma -Seattle

等等......這裏是我的節點結構是什麼:

class DA 
{ 
    public Node Name { get; set; } 
    public Node Parent { get; set; } 
    public decimal Cost { get; set; } 
    public bool Complete { get; set; } 

    public DA(Node n) 
    { 
     Name = n; 
     Cost = 100000000; 
    } 

    public DA() { } 
} 

這是我目前打印出來的控制檯上(家長的格式 - >兒童Weig ht enter image description here

任何建議打印出來,將不勝感激。

+1

好的,這是一個很好的故事,你告訴我們,但你似乎忘記了這個網站的重點,這是*提問*。你有什麼問題? – 2013-03-18 04:54:10

+0

@EricLippert - 我剛剛爲你添加了一個說明。我需要指導打印出樹結構。 – Yecats 2013-03-18 04:55:33

+1

另外,從貝爾維尤到雷德蒙德的距離,哪個世界距離溫哥華比奧林匹亞更遠? – 2013-03-18 04:56:28

回答

0

僞代碼:

print start.name; 
var next = start.next; 

while (next) { 
    print next.name; 
    next = next.next; 
} 

基本上一般的想法是打印起始位置,然後繼續打印出所有的目標位置,直到你打終點。