AVLツリーを使用するアプリケーションの操作は、O(ログN)時間です。 10,000要素のコレクションを実行するには約50 ミリ秒かかる。 は、どのくらいの期間、100,000要素のコレクションを実行すると思いますか?Avl Treesでの時間を検索するには?
-2
A
答えて
2
アプリケーションの一定の計算コスト(ローディング、前処理など)をすべて考慮する必要があるため、大きなコレクションで実行するのにかかる時間を簡単に推測することはできません。
ただし、log(10000)= 4、log(100000)= 5の上限があるため、すでに到達している場合は5/4 * 50 = 62.5 ms未満で実行することができます漸近的な振る舞い。
とにかく、O(log N)は非常に効率的な複雑さです。アルゴリズムは大きなインスタンスに非常に良く適合するはずです。 N個の要素を処理するために
0
、あなたは10000のための
T ~ C * N * log (N)
おおよその時間を必要とする:
100000用50 ms = C * 10^4 * log(10^4) = C * 4 * 10^4 * log(10)
C = 50ms/(4 * 10^4 * log(10))
:
T ~ 50ms/(4 * 10^4 * log(10)) * 5 * 10^5 * log(10)
T ~ 50ms * 5 * 10/4 = 625 ms
だから、約625ミリ秒
時間を期待します関連する問題
- 1. ハッシュテーブル検索時間
- 2. NHibernate基準時間で検索する
- 3. 2つのAVLツリー間でk番目に大きい要素を検索するアルゴリズムを設計する
- 4. 日付と時間でモデルを検索するには
- 5. 検索時のハイライト時間の変更
- 6. MySQLはWHERE句の検索時間
- 7. スプレイツリー最悪検索時間
- 8. 時間間隔で日付インデックスを検索する
- 9. 過去24時間の時間フィールドを持つレコードを検索
- 10. 時間レコードのオーバーラップを検索
- 11. データベースを検索するのにかかる時間
- 12. Excelの2つの時間枠の間の時間単位での検索
- 13. AVLツリーが常にO(log(n))検索を保証できる方法
- 14. 特定の時間より前にユーザーを検索する
- 15. Unix特定の時間内にファイルを検索する
- 16. バイナリ検索の時間の複雑さ?
- 17. ウェブカメラの露出時間を時間単位で検索しますか?
- 18. MySQLで時間単位でグループを検索する
- 19. B +ツリーCPUの検索時間
- 20. MySQL検索日付と時刻の間
- 21. 無効な時間の検索方法
- 22. ランダム化バイナリ検索の実行時間
- 23. アルファベータ検索時間の複雑度
- 24. DNS検索にローカルで時間がかかるのはなぜですか?
- 25. 空のAVLツリーにN個の要素を追加する実行時間
- 26. C再帰バグを使用したAVLツリー検索
- 27. Neo4jのCypherクエリーで索引付きプロパティーの検索に時間がかかる
- 28. haystack-solrで検索時間を取得する方法
- 29. 時間に基づいてオーディオファイルを検索する
- 30. スフィンクスの検索時間を短縮するためのアイデア
私はそれを追加する必要がありますO(log N)ではなくO(N log N)の複雑さを理解しているように見えます。これは、ソートされたツリーのクエリの通常の複雑さです(例:C++のマップ)。 さらに、大規模O表記で考慮されるため、対数の底は何も変化しません。 (log n = ln n/ln 10) – pvallet