2009-05-25 7 views
2

ここに問題のバイナリツリーがあります。葉は、B、C、Dであり、エッジは0または1これは完全なバイナリツリーですか?

. 
/\ 
    a . 
    /\ 
    b . 
    /\ 
     c d 

をラベル付けされていることは、すべてのノードがいずれかの葉であるか、2つのつの子ノードを持っているとして、それは、完全なバイナリツリーであるように私には思えますしかし、私はそれが完全なバイナリツリーではないと言われたというこの気持ちを持っています。そうでない場合、それはなぜですか?

ノードにリーフである子がある場合、それは子ノードとしてカウントされませんか?

+0

[このページ](http://www.differencebetween.com/difference-between-complete-binary-tree-and-vs-full-binary-tree)はすべての疑問を解決します。 –

答えて

5

完全なバイナリツリーと完全なバイナリツリーを混同しています。完全なバイナリツリーは、すべてのリーフノードが同じレベルにある完全なバイナリツリーです。そう、はい、画像は完全なバイナリツリーです。

リーフは、子ノードのないノードとして定義されます。
したがって、完全なバイナリツリーは、各ノードがゼロまたは2つの子を持つバイナリツリーです。

Wikipediaは定義に非常によく役立ちます。それを確認してください。

+0

私はそれがバランスが取れていないと言うつもりでした。しかし、新しい定義に感謝します。あなたは毎日何かを学びます。 – uriDium

+0

バランスのとれた別の話です。これは、各ノードの右と左の子の間の深さの差が最大で1であることを意味します。 –

+0

「そうです、画像は**完全な**二分木ですか」ではありませんか? – sharkin

2

はい、各ノードのツリーには0または2つの子があり、バイナリツリーです。

関連する問題