平衡二分木と完全二分木の違いは何ですか?
すべての完全な二分木は平衡二分木であると言うのは本当ですか?
その逆はどうですか?
バランス二分木は、すべてのノードの2つのサブツリーの深さが1を超えて異ならない二分木です。
complete二分木は、最後のレベルを除くすべてのレベルが完全に満たされ、最後のレベルのすべての葉がすべて左側にある二分木です。
以下は平衡二分木ですが、完全な二分木ではありません。すべての完全な二分木はバランスが取れていますが、その逆はありません。
1
1 1
1 1 1
1
意味するように、完全なツリーでは、常にレベル差は1以下になるため、常にバランスが取れています。
高さhの二分木がすべての葉をレベルhに持ち、すべての親に正確に2つの子がある場合、ツリーはfullであると言われます。
ツリーはcompleteと言われ、最後を除くすべてのレベルにできるだけ多くのノードが含まれ、最後のレベルのノードが左からタイトに埋められます。 (完全ではありませんが、完全です)
二分木の各ノードに、高さがまったく同じである2つのサブツリーがある場合、ツリーは完全にバランスが取れていると言われます。
完全にバランスの取れた木がいっぱいです
ノードのサブツリーの違いが1つ以下の場合、ツリーは高さバランスまたは単にバランスです。
バランスツリー:バランスツリーは、すべてのノードでの左サブツリーの高さと右サブツリーの高さの差が最大であるバイナリツリーの形式ですk、ここでkは平衡係数。この平衡係数が0であることが判明した場合、そのツリーは完全平衡ツリーと呼ばれます。
例:
8
6 1
3 9 1
このツリーは、各ノードのサブツリーの高さの差が0または1であるため、バランス係数1のバランスツリーです。
完全な二分木:葉の各レベルを除いて、各レベルが完全に満たされている場合、ツリーは完全であると言われます。また、リーフノードへの新しい挿入は左から右になります。つまり、左レベルのリーフが最初に完全に埋められます。
例:8
6 1
3 5 4 1
これで、このツリーは完全な二分木になり、新しい挿入を行う必要がある場合は、左側の葉の下にあるはずです。この例では3です。 3が左右の子でいっぱいになると、5が新しい挿入の次の葉になります。