2016-11-11 17 views
-3

たとえば、array:{1,2,3,4,5,6}がある場合、その配列で完全なバイナリツリーを構築するにはどうすればよいですか?ツリーを作成するときアレイを使用した完全なバイナリツリーの構築

、それは次のようになります。配列は、数字の任意の配列ででき

        1 
          / \ 
           2  3 
          /\ /
          4 5 6 

、このシーケンスは単なる一例です。私はレベル順にツリーをたどる方法を知っていますが、この方法でツリーを作成するロジックについてはわかりません。

+0

このソリューションをお試しください:http://stackoverflow.com/questions/8876406/binarytree-implementation-in-javaそれはあなたにとって有益ですか? –

+0

何を試しましたか?私たちはあなたのために仕事をするためにここにいません。私はあなたにGoogle "バイナリツリーを構築する方法"を提案し、そこから始めよう – BlackHatSamurai

答えて

0

したがって、すべての子が2 * nと2 * n + 1の配列スロットにある場合、この実装は考えられます.nは親のスロットです。例えば。配列スロット "4"に "1"がある場合は、スロット "8"と "9"に子2と3を設定します。これは非常にスペースが効率的ではないので、ポインタを介して接続するNodeクラスを使用します。

関連する問題