Cが「唯一の子」ノードの数を示している場合(ノードが唯一の子であり、その親がヌルでない場合& &には兄弟はありません)、なぜNノードを持つすべてのAVLツリー:C < =(N/2)?NノードのAVLツリーがC <= N/2を維持するのはなぜですか?
2
A
答えて
1
高さ1のAVLツリー(すなわち、ルートのみからなる)を考えてみましょう。条件は明らかに保持されます(N = 1、C = 0)。
高さ2のAVLツリーを考えてみましょう。2つの子(N = 3、C = 0)または1つの子(N = 2、C = 1)を持つルートのいずれかがあります。したがって、条件は高さ2の木にも当てはまります。
ここで、高さh(h> = 2)とh-1の木について条件が成立すると仮定し、高さhの木+1。高さhの子と高さhまたはh-1の子を持つ新しいルートをとることによって、高さh + 1のツリーを構築できます。これらは、AVLプロパティをそのまま維持する唯一の許可された構成です。 2つのサブツリーの新しいルートもルートも、「唯一の子」ノードではありません。従って、N = 1 + N1 + N2、C = C1 + C2となる。 C1 < = N1/2およびC2 < = N2/2であるので、C < = N/2となる。
ここで、誘導によって、すべての高さのAVLツリーに対して条件が成立します。
関連する問題
- 1. n個のAVLツリーをマージする
- 2. AVLツリーは複雑にO(n)で構築できますか?
- 3. レベルでAVLツリーを印刷する(C++)
- 4. RedBlackとAVLツリーC++
- 5. C++ 11標準では、 "auto n2 = const_cast <int &>(n);"で "n2 is int&"を保証していますか?
- 6. C++ AVLツリーの実装
- 7. C++ AVLツリーの削除
- 8. AVLツリーはインオーダートラバーサルが
- 9. 3ノード再構成AVLツリーとは何ですか?
- 10. AVLツリーのバランスをとる(C++)
- 11. なぜ高さhのAVLツリーが最小数のノード= F(h + 2) - 1を有するか
- 12. AVLはAVLツリーの何を表していますか?
- 13. は、AVLツリー
- 14. これはAVLツリーですか?
- 15. AVLツリーの回転テクニックですか?
- 16. AVLツリーのOstream演算子C++
- 17. PythonでのAVLツリーのパフォーマンス
- 18. AVLツリーの実装
- 19. 空のAVLツリーにN個の要素を追加する実行時間
- 20. ツリー内のノードを削除してもレベルが維持されない
- 21. AVLローテーション - どのノードをローテーションするか
- 22. AVLツリーが常にO(log(n))検索を保証できる方法
- 23. ノードの削除前後のAVLツリーのバランス?
- 24. AVLツリーのPreOrderトラバーサルを指定します。ツリーはユニークですか?
- 25. C++ n-treeツリー
- 26. AVLツリー非再帰
- 27. AVLツリー挿入 - セグメンテーションフォールト
- 28. ツリー構造を維持したXMLノード名をフィルタリングする方法は?
- 29. AVLツリー回転の問題
- 30. trailingalの順にavlツリー
ありがとうございました!どうもありがとうございました!! – Nar