並べ替えは配置です降順や昇順など、特定の順序のオブジェクト。一般に、要素の順序付けは最も一般的なデータ操作であり、将来必要な情報を簡単に見つけることができます。これは主に、さまざまなデータベース管理システムに当てはまります。並べ替えアルゴリズムは現在多数存在しますが、同様の機能(ステージ)があります。シーケンスが順序付けられるまで、要素をペアで比較および並べ替えます。
並べ替えアルゴリズムは次のように分類できます内部と外部。最初のものは、ソートされたすべての要素がRAMに配置されており、それらのいずれかにランダムにアクセスできるという事実によって特徴付けられます。後者は、外部メモリ(ファイル内)にあるデータを処理できます。これらの要素には順番にアクセスできます。
見つかったアイテムを並べ替える方が便利です一次元配列構造で。このような各要素には連番があり、配列要素にはインデックスによってアクセスされます。この場合の並べ替えアルゴリズムは、最も簡単で簡単に使用できます。
による内部ソートアルゴリズムを検討してくださいバブル方式とその改良版で降順。ソートに費やす時間が異なります。バブルソートには実際にはさまざまな名前があります。線形ソート方式または交換選択ソート方式とも呼ばれます。しかし、それは名前についてではありません。なぜバブル?水中に入ると、気泡は軽いので浮きます。したがって、たとえば、昇順で並べ替えると、アイテムが最小になります。
バブル法を使用して配列をソートするためのアルゴリズムの最初の変形を考えてみましょう。 mas識別子を使用し、N個の要素で構成される配列をソートするための言語アルゴリズムは次のとおりです。
1。最初の要素(mas [1])を配列内の最大の要素に置き換えます。これを行うために、残りのすべての要素(mas [2]、mas [3]…mas [N])と順番に比較します。残りの要素のいずれかがmas [1]より大きいことが判明した場合は、それらを交換する必要があります(追加のbuf変数を介して)。
2. mas [1]要素を考慮から除外した後、mas [2]要素に対して手順1を繰り返します。
3.最後の要素を除くすべての要素に対してこれらの手順を繰り返します。
Pascalプログラミング言語でのバブルソートアルゴリズムの実装:
2番目のオプションについて(改善された方法バブル)これはクイックソートアルゴリズムであると言えます。したがって、これを使用してすでにソートされている配列をソートしようとすると、アルゴリズムは、配列要素を最初に通過した後に作業を終了します。これは、システムのコンピューティングリソースと、要素の無意味な比較に時間を浪費しないことを意味します。
Pascalプログラミング言語用のこのソートアルゴリズムの実装は次のとおりです。
したがって、ソートアルゴリズムは、データのシーケンスを順序付ける手段です。特定のアルゴリズムを選択するときは、時間とシステムリソースの観点からコストを考慮する必要があります。