空のバイナリ検索ツリー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. OCamlのバイナリ検索ツリー挿入関数
- 2. バイナリ検索ツリーの挿入C++
- 3. バイナリ検索ツリーへの挿入
- 4. バイナリ検索ツリー再帰挿入
- 5. バイナリ検索ツリーにランダムな整数を挿入する方法
- 6. ソートされた配列をバイナリ検索ツリーに挿入する
- 7. バイナリ検索ツリー/リンクリストにノードを挿入しますか?
- 8. バイナリ検索ツリー
- 9. バイナリ検索ツリー
- 10. バイナリ検索ツリー再帰のない挿入C
- 11. 順序付きバイナリ検索ツリーに挿入
- 12. バイナリ検索ツリーに要素を挿入し、そのレベルを見つける
- 13. バイナリ検索ツリー式
- 14. バイナリ検索ツリー - ポストオーダーロジック
- 15. バイナリ検索ツリーC++
- 16. deleteバイナリ検索ツリー
- 17. Cバイナリ検索ツリー
- 18. バイナリ検索ツリーのトラバーサル
- 19. バイナリ検索ツリーの質問
- 20. Cのバイナリ検索ツリー、セグメンテーションフォールトエラー
- 21. バイナリ検索ツリーの再帰
- 22. バイナリ検索ツリーのリスト
- 23. バイナリ検索ツリー解析
- 24. 作成バイナリ検索ツリー
- 25. Cバイナリ検索ツリーを実装する
- 26. MIPS - バイナリ検索ツリーを実装する
- 27. バイナリ検索ツリーでn番目に小さい要素を見つける
- 28. バイナリ検索ツリー:挿入機能でポインタが失われました
- 29. バイナリ検索ツリーとPythonのデータ
- 30. C#バイナリ検索ツリーの問題
より適切な英語を使用することをお勧めします。理解するのは少し難解でした。 –