視覚的直感 7つの一般的な排序アルゴリズム (書く戦略がよく使われます)

作者: リン・ハーン小さな夢, 作成日:2016-12-06 10:23:16, 更新日:

視覚的,直感的 7つの一般的な排序アルゴリズム

策略を書くときに,プログラムコードでデータ整理が必要になる状況が避けられないので,最小限のシステムコスト (時間,システムリソース) で科学的なプログラムを設計するにはどうすればいいですか?

  • 1. 素早く整理する

    インタビュー: 急速排序は,トニー・ホールによって開発された排序アルゴリズムである.平均状態では,排列 n つの項目を O (n log n) 倍比較する必要があります.最悪の状態では,O (n 2) 倍比較が必要です.しかし,このような状況は珍しいです.実際には,急速排序は,他の O (n log n) アルゴリズムよりも一般的に明らかに速く,その内部ループ (inner loop) がほとんどのアーキテクチャで非常に効率的に実装され,多くの現実世界のデータでは,設計選択が決定され,必要な時間の二次項目の可能性が軽減されます. ステップ: 数列から要素を選び,ピボットと呼ばれる要素を選び, 再排列数列は,基値より小さいすべての要素が基値の前に置かれ,基値より大きいすべての要素が基値の後ろに置かれ (同じ数値がどちらにも行ける).この区画を退出した後,基数は数列の中央に置かれます.これは区画 (partition) 操作と呼ばれます. リキュリブ (recursive) は,基値要素より小さい子列と基値要素より大きい子列を順序付けする. 排列効果:img

  • 2. 順序付け

    インタビュー: Merge sort は,配列操作に基づいた有効な配列アルゴリズムである.このアルゴリズムは,分割と征服の非常に典型的な応用である. ステップ: 2つの順序列の合計に相当するスペースを申請し,このスペースは結合された順序列を保存するために使用されます 2つの指針を設定し,最初の位置は2つの順序化された順序の開始位置です. 2つの指針が指している要素を比較し,比較的小さい要素を組み合わせスペースに入れ,指針を次の位置に移動します ステップ3を繰り返します. 他の列の残った要素をすべて直接複製し,結合列尾にします. 排列効果:img

  • 3. 堆列の順序

    インタビュー: 堆積排序 (Heapsort) とは,堆積がほぼ完全に二重樹の構造であり,同時に堆積の性質を満たすものである.すなわち,子ノードのキー値またはインデックスは常にその親ノードよりも小さい (または大きい) ものである. ステップ: (もっと複雑で,ネットで調べてください) 排列効果:img

  • 4. 順序を選択する

    インタビュー: 選択ソート (Selection sort) はシンプルで直感的なソートアルゴリズムである.その仕組みは以下のとおりである.まず,未分類の序列の中で最小の要素を見つけ,それを序列の開始位置に保存し,それから,残った未分類の要素から最小の要素を探し続けて,それを序列の終わりに置く.そして,すべての要素が順序化されるまで. 排列効果:img

  • 5. 泡の排列

    インタビュー: バブルソート (Bubble Sort,台湾語訳:バブルソート) は,単純なソートアルゴリズムである.それは,繰り返し,並べたい数列を訪れ,一度に2つの要素を比較し,それらの順序が間違っている場合,それらを交換する. 訪問列の作業は,もはや交換する必要がなくなり,つまり,列が順序が完了するまで繰り返される.このアルゴリズムの名前は,ゆっくりと浮遊する交換によって,より小さな要素が数列のトップに上昇するからです. ステップ: 隣接する要素を比較します. 最初の要素が2番目の要素よりも大きい場合は,2つを交換します. 隣接する要素のすべての対に対して,最初の対から最後の対まで同じ作業を行います.この時点で,最後の要素は最大数でなければなりません. このステップは,最後の要素を除いて,すべての要素に対して繰り返します. このステップは,数値対の比較が不要になるまで,ますます少ない要素に対して繰り返す. 排列効果:img

  • 6. 順序を挿入する

    インタビュー: 挿入ソート (Insertion Sort) のアルゴリズムの説明は,単純で直感的なソートアルゴリズムである.その仕組みは,順序列を構築し,未順序のデータに対して,順序列の中で後からスキャンし,対応する位置を見つけ,挿入する.挿入ソート (Insertion Sort) の実装では,通常,in-placeソート (つまり,O (−) の余分なスペースのソートのみを使用する) が使われます. ステップ: 最初の要素から始めると,その要素は順序付けされていると考えられます. 次の要素を取り出し,順序付けされた要素の配列を後からスキャンします. この要素が新しい要素よりも大きい場合は,次の位置に移動します. 順序化された要素が新しい要素の位置よりも小さいか,またはそれに等しいかを見つけるまでステップ3を繰り返します. この位置に新しい要素を挿入します ステップ2を繰り返す 排列効果: (暫定)

  • 7.ヒル排列

    インタビュー: ヒール排序,また減量排序アルゴリズムとも呼ばれ,挿入排序の高速で安定した改良版である. ヒール排列は,挿入排列の次の2つの性質に基づいて改善方法を示唆している. 1, 挿入排序は,ほぼ排序されたデータに対する操作において,高効率である.つまり,線形排序の効率に達する. 2、しかし,挿入排列は通常非効率で,挿入排列は1回に1つのデータしか移動しない.img

泡法 (最も簡単な方法) を最もよく使っているのは,あなたですか?


もっと

努力して量化JavaScriptの排序アルゴリズムコードが見つかりました 学生たちは,この学校で学んでいる.

努力して量化ありがとうございました.