空のバイナリ検索ツリーn^2にN個のアイテムを挿入するのはなぜ最悪の場合ですか?バランスチェックはありません。空のバイナリ検索ツリーにN個のアイテムを挿入する
0
A
答えて
6
各項目はO(n)であり、n個の項目があります。 1つのアイテムにつきO(n)が「増加するにつれて増加する」nであっても、n(n-1)/ 2 = O(n-1) n^2)。言い換えれば
、我々は10、20、30、40を追加しているとします
ステップ1:空の木、10挿入します
10
手順2:10と20を比較します。ステップ3:30と10を比較する。ステップ3:30を10と比較する。ステップ3:30を10と比較する。大きいので、20でノードに移動してください。 30と20を比較してください。したがって、木は次のようになります。
10
\
20
\
30
ステップ4:40と10を比較します。大きいので、20でノードに移動します。 40と20を比較します。大きいので、30のノードに移動してください。 40と30を比較してください。大きく、従ってツリーは次のようになる。
10
\
20
\
30
\
40
注意我々はもう一つの比較毎に取得する方法 - 第1要素が第2等がかかり、第1取り、0の比較を要する - nに加算(N-1) 。
もちろん、ソート順(小から大、または小から小まで)で挿入する場合にのみ当てはまります。ツリーのバランスをとるような順序で挿入すると、大幅に安くなります。
1
最悪の場合、BSTはリストであり、N個の項目を空の末尾に挿入するとO(n^2)になります。
関連する問題
- 1. 再帰バイナリ検索ツリーの挿入
- 2. バイナリ検索ツリーの挿入エラー
- 3. バイナリ検索ツリーへの挿入
- 4. バイナリ検索ツリーの挿入C++
- 5. バイナリ検索ツリーへの挿入
- 6. OCamlのバイナリ検索ツリー挿入関数
- 7. バイナリ検索ツリー再帰挿入
- 8. バイナリ検索ツリー:挿入操作
- 9. バイナリ検索ツリー - 再帰的挿入python
- 10. O(log n)のバイナリ検索ツリー?
- 11. バイナリ検索ツリーにランダムな整数を挿入する方法
- 12. ソートされた配列をバイナリ検索ツリーに挿入する
- 13. バイナリ検索ツリー/リンクリストにノードを挿入しますか?
- 14. C++のバイナリ検索ツリーを挿入実装
- 15. Pythonで再帰を使用してバイナリ検索ツリーに挿入
- 16. BALANCEDバイナリ検索ツリーへのノードの挿入
- 17. C2678:バイナリ検索ツリーの挿入時のエラーC++
- 18. 挿入と削除後のバイナリ検索ツリーの高さの検索
- 19. バイナリ検索ツリー
- 20. バイナリ検索ツリー
- 21. バイナリ検索ツリー
- 22. バイナリ検索ツリー
- 23. バイナリ検索ツリー再帰のない挿入C
- 24. 順序付きバイナリ検索ツリーに挿入
- 25. バイナリツリー、バイナリ検索ツリー、バイナリ検索
- 26. バイナリ検索ツリー - 別のツリーに1つのツリーをコピーする
- 27. deleteバイナリ検索ツリー
- 28. バイナリ検索ツリー?アルゴリズム
- 29. バイナリ検索ツリー式
- 30. Cバイナリ検索ツリー
より適切な英語を使用することをお勧めします。理解するのは少し難解でした。 –