0

以下のようなツリーがあるとします。

     O
    / \
   O   \
  / \   \
 A   B   C

このツリーのすべての葉の位置を見つけて、それらを配列または HashMap に出力するにはどうすればよいでしょうか?

したがって、上記のツリーは以下を返します。

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

葉が見つかるまでツリーを反復し、どのパスをたどったかを思い出すことを考えていました。しかし、これがこれを行う最も効率的な方法であるかどうかはよくわかりません。

これをどのように実装できるかについてのアイデアはありますか?

4

1 に答える 1

2

使用できる既存のメタデータが存在しない場合、最も簡単な解決策はおそらく、これまでに取得したパスを含むスタックを使用した通常の深さ優先検索です。はるかに効率的な方法でそれを行う方法がわかりません。

于 2013-05-30T08:21:38.797 に答える