一般的に使用されるソート/検索アルゴリズムの効率の説明

 

 

 

ランキング方式 最悪の時間分析 平均時間の複雑さ 安定性 スペースの複雑さ
バブルソート O(n 2 O(n2) 安定した O(1)
ソートを挿入 O(n 2 O(n2) 安定した O(1)
並べ替えを選択 O(n 2 O(n2) 安定した O(1)
二分木ソート O(n 2 O(n * log2n) 違う O(n)
クイックソート O(n 2 O(n * log2n) 不安定 O(log2n)〜O(n)
ヒープソート O(n * log 2 n) O(n * log2n) 不安定 O(1)
ヒルソート 不安定 O(1)

 

探す 平均時間の複雑さ 検索条件 アルゴリズムの説明
順次検索 O(n) 順不同または順序付きのキュー キーワードが見つかるまで各要素を順番に比較します
二分探索(ハーフサーチ) O(LOGN) 配列 検索プロセスは、配列の中央の要素から始まります。中央の要素が検索対象の要素である場合、検索プロセスは終了します。特定の要素が中央の要素よりも大きいまたは小さい場合、配列の半分の中央の要素よりも大きいか小さい要素が検索されます。そして前と同じように真ん中の要素から始めます。あるステップで配列が空の場合、それが見つからないことを意味します。
バイナリソートツリー検索 O(LOGN) バイナリソートツリー 二分探索木におけるB 参照、X は以下のような手順:
1. 場合bがヌルツリーで、検索が失敗
2. 場合、xはに等しく、B ルートノードの値データフィールドは、ルックアップが成功した;
3. 場合、Xは以下であり、B のルートノードのデータフィールドの値から左側のサブツリーが検索されます
。4 .右側のサブツリーを見つけます。
ハッシュテーブル方式(ハッシュテーブル) O(1) 最初にハッシュテーブル(ハッシュテーブル)を作成します キー値(キー値)の検索に従って、ハッシュ関数を使用してデータ要素を特定します。
ブロック検索 O(LOGN) 順不同または順序付きのキュー n個のデータ要素は、「ブロック順に」m個のブロックに分割されます(m≤n)。
各ブロックのノードは順序付けする必要はありませんが、ブロックは「ブロックで順序付け」されている必要があります。つまり、最初のブロックの要素のキーワードは、2番目のブロックの要素のキーワードよりも小さい必要があります。 2番目のブロックの要素は、3番目のブロックの要素よりも小さくなければなりません... 次に、バイナリ検索と順次検索を使用します。

 

 

元の記事を22件公開 いいね3 ビジター3442

おすすめ

転載: blog.csdn.net/ChyoD1811/article/details/101348929