私は最近バイナリ検索を学びました....私はO(log n)の時間の複雑さに非常に感銘を受けましたが、ソートされた配列を得るためにはソートされた演算、すなわち最小O (nlogn)の複雑さはかなり大きいです。バイナリ検索操作のための並べ替えられた配列を取得する方法?
0
A
答えて
0
ソートされていない(ソートされていることが保証されていない)リストがある場合は、リニア検索が必要です。線形探索はO(n)であり、ソートはO(nlog n)であり、これは悪化する。リストがソートされているかどうかをチェックすることもO(n)です。
リストを一度しか検索しない場合は、線形検索のほうがよいでしょう。何回か検索する場合は、まずリストをソートすると効果があります。特定のケースに最適なものを見つけるには、問題を分析する必要があります。
0
アイデアは、リストを一度ソートして結果を保持することです。その後の検索はO(log n)です。したがって、多くの検索での複雑さは(n log n) + S*log(n)
です。ここでは、S
が検索の数です。配列をソートしないと、複数の検索のコストはO(S*n)
になります。
関連する問題
- 1. 並べ替えの方法配列インデックスで並べ替えられたリスト
- 2. 並べ替えられたNumpy配列の元のインデックスを取得する
- 3. 組み合わせられた配列を並べ替える際に、並べ替えられた配列を再割り当てされた並べ替え済みの配列に追加するための最良の方法
- 4. 配列要素の並べ替えの配列を取得する方法は?
- 5. Rubyで並べ替えられた配列のインデックスを取得しますか?
- 6. バイナリ配列をバイナリ表現で1の量で並べ替える方法
- 7. 並べ替えられたキーを持つ別の配列で配列を並べ替える
- 8. ネストされた配列を並べ替える方法は?
- 9. クイック検索のために地理データを並べ替える方法
- 10. elasticsearchで複数の配列値の検索を並べ替える方法
- 11. 配列の並べ替え方法
- 12. 構造体の配列を並べ替えるためのQSORT
- 13. 検索ワードで多次元配列を並べ替える
- 14. 並べ替えられた配列から重複を削除
- 15. 並べ替えられた配列の複雑な計算
- 16. Swiftで並べ替えられた配列の型
- 17. CSVファイルから取得したデータを並べ替えるためのjspファイル
- 18. バイナリ選択のための並べ替えアルゴリズム
- 19. 検索された文書を並べ替えるには?
- 20. 並べ替えられた配列のインデックスについての並列計算
- 21. evensの前にオッズを作るために配列を並べ替える
- 22. 配列の並べ替え
- 23. wpgeodirectoryの検索ページでリスティングを並べ替える方法は?
- 24. Wordpress検索ページの投稿を並べ替える方法
- 25. Javascript配列の並べ替えから
- 26. 検索後のdivの並べ替え
- 27. 効率的に並べ替えを検索する方法
- 28. JQUERYでcharecterで始まらない配列の配列リストの並び替え/並べ替え方法は?
- 29. インデックス値から配列を並べ替える方法
- 30. テーブルの列と並べ替えの配列から一意のデータを取得
あなたの質問は何ですか? – klutt
私は疑問を持っています.....バイナリ検索を実行するためには、最初にnlognを取るソートされた配列を取得する必要があります。したがって、必要な数を得るためには、O(n)時間よりもO(nlogn)よりも良い数を線形検索することで得られるかもしれません。 –