2013-05-30 90 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

假设没有可用的元数据,最简单的解决方案可能只是一个常规深度优先搜索,包含到目前为止所采用的路径。我不明白怎样才能以更有效的方式做到这一点。

相关问题