2

二分探索はO(log n)で探索を行います。ただし、配列がソートされている場合にのみ使用できます。

配列がソートされていない場合、どの検索手法が最適ですか?

4

3 に答える 3

6

数回の検索のみを行う場合は、基本的な線形検索が最善の方法です。

頻繁に検索する場合は、通常、並べ替えてから、バイナリ検索を使用することをお勧めします(または、コンテンツの分布がかなり予測可能な場合は、補間検索を使用します)。

于 2012-07-18T00:30:48.410 に答える
1

データがソートされていない場合は、ハッシュテーブルを使用してO(1)時間でデータにアクセスできます。

于 2017-05-04T12:05:12.940 に答える
0

線形検索を行うことができます。しかし、線形検索の問題は、パフォーマンスの問題があることです。これには多くの時間がかかります。したがって、可能であれば配列を並べ替えてから、バイナリ検索を使用することをお勧めします。さらに優れたレイテンシーが必要な場合は、一般的なバイナリ検索のビット最適化バージョンである補間検索を試してください。

于 2017-05-04T11:11:52.297 に答える