\r\n\r\n
完全二分木と完全二分木
二分木とは、各ノードが1つまたは2つの子を持つ木のことである。二分木では、ノードは2つ以上の子を持つことができない。二分木では、子には「左子」「右子」という名前がついている。子ノードは、親ノードへの参照を含む。完全二分木とは、最後のレベルを除いて、すべてのレベルが完全に埋まっている二分木のことである。ノードの結合は、左端から順に行われます。完全二分木とは、木の葉を除くすべてのノードが2つの部分木を持つ木のことである。
完全二分木とは何ですか?
完全二分木とは、木のすべてのノードが0個または2個の子を持つ二分木のことである。つまり、木の葉を除くすべてのノードが、2つの子を持つことになる。完全な二分木は以下の図1に描かれている。完全二分木では、ノード数(n)、スレーブノード数(l)、内部ノード数(i)は特殊な関係にあり、どれか1つがわかれば、以下のように他の2つの値を決定することができる。
1 完全二分木がi個の内部ノードを持つ場合。
-葉の枚数 l=i+1
-ノードの総数 n=2*i+1
2 完全二分木がn個のノードを持つ場合。
-内部ノード数 i=(n-1)/2
-葉の枚数 l=(n+1)/2
iii. 完全な二分木がl個の葉を持つ場合。
-ノードの総数 n=2*l-1
-内部ノードの数 i=l-1
完全二分木とは何ですか?
図2に示すように、完全二分木とは、最後のレベルを除いて、すべてのレベルが完全に埋まっている二分木のことである。また、最後のレベルでは、ノードは左端から接続されるようにします。高さhの完全二分木は以下の条件を満たす。
-ルートノードより上の最後のレベルは、高さh-1の完全な二分木を表す
-最終レベルの1つ以上のノードが0または1の子ノードを持つことができる
-aおよびbが上位の2つのノードである場合、aがbの左側にある場合に限り、aはbより多くの子を持つ。
完全二分木と完全二分木の違いは何ですか?