2013-05-30 55 views
0

讓我們假設我有一棵樹像如下:找到所有葉子的樹(JAVA)的位置

 O 
    /\ 
    O \ 
/\ \ 
A B C 

我將如何去尋找這棵樹並輸出所有的葉子的位置在一個數組或HashMap?

所以上面的樹將返回:

{{ A ,  00  },{ B ,  01  },{ C , 1 }} 
    leaf left, left  leaf left, right  leaf right 

我想遍歷下來的樹,直到它找到了葉還記得花費了哪條路徑。但我不太確定這是否是最有效的方法。

任何想法如何實現?

+1

您可以迭代樹,直到找到一片葉子並記住它所用的路徑。真的,這個問題聽起來太像「我希望別人爲我做,我會說點什麼,我希望我得到一個代碼的答案」 – SJuan76

+1

你爲什麼認爲這是這樣的?我問過代碼嗎?我已經有了重複的想法,我正在尋求更有效的方法。 – ron8

回答

2

假設沒有可用的元數據,最簡單的解決方案可能只是一個常規深度優先搜索,包含到目前爲止所採用的路徑。我不明白怎樣才能以更有效的方式做到這一點。

相關問題