さまざまなプログラムを開発するとき、実際にはプログラマーは、作業アルゴリズムを最適化し、検索操作のパフォーマンスを向上させるために、常に並べ替えを使用する必要があります。今日、必要な順序で要素を配置するさまざまな方法があります。マージソート、キーの使用などです。複雑な操作。その結果、特定のタスクの要件に応じて、同じタイプのオブジェクトが降順または昇順で並べ替えられます。
さまざまなソートアルゴリズムは次のようになります。配列の順序とファイルの順序の2つのカテゴリに分けられます。最初のタイプのオブジェクトは、RAMだけでなく、オブジェクトへのアクセスが直接開かれている場合は、いくつかのメディアにも配置できます。オブジェクトの2番目のカテゴリは、ディスクまたは磁気テープという有形の媒体上にある必要があります。
注文アイテムの主な違い配列とファイルの宣言された順序での場所は、すべての配列メンバーがそれらにアクセスするときにいつでも利用できることです。したがって、並べ替えプロセスは、手順が開始された瞬間から、いずれかが利用できないために中断することなくすぐに開始されます。エレメント。ただし、特定の時点でファイルを注文する場合、アクセスを許可できるのは限られたメンバーのセットのみです。
ファイルを整理するのに十分な頻度マージソートが適用されます。これは、要素を特定の順序で配置するという基本原則に基づいて開発されています。一般に、ソート手順は次のように説明できます。データの特定のセグメントが選択され、キーとして使用されます。例として、指定されたインデックスで郵便物を並べ替える例を考えてみましょう。その結果、アルゴリズムは情報の完全な分析を実行しませんが、同時に必要な要素を高い確率でソートします。
シーケンシャルファイルとの主な違い直接アクセスを提供するファイルは、一定の直接アクセスを整理するのが難しいメディアに配置できるということです。さらに、このようなファイルは通常、保存されたレコードに固定長を使用しません。これらの機能のため、シーケンシャルファイルは次の2つの状況でのみ使用されます。
-必要に応じて、シーケンシャルアクセス向けのデータキャリアの使用。
-可変長のレコードを使用すると便利な場合。
マージソートは非常に頻繁に使用されます最新のソフトウェアツールで。これは、シーケンシャルファイルが広く配布されているためです。たとえば、ほとんどすべてのテキストファイルはシーケンシャルです。順次編成されたファイルをデータの配列と見なすと便利ですが、ファイルハードウェアのすべての要素に物理的にアクセスすることは不可能であるため、このようなアプローチは不可能です。
実際、マージソートは唯一のものになりましたシーケンシャルファイルを並べ替える方法。今日、シーケンシャルファイルを整理する方法は他にもありますが、この方法は依然として最も人気のある方法の1つです。自然なマージソートとは、ファイルを情報量が等しい2つの部分に分割することを意味します。さらに、各ファイルから、現在利用可能な要素から各要素が徐々に読み取られます。順序付けられた要素は、3番目のファイルで必要な順序で配置され、さらに2つの同様のサイズに分割されます。これは、マージソートが実行される方法です。 Pascal、C、Basic-よく知られているプログラミング言語のほとんどは、このタイプの順次ファイル順序付けの実装をサポートしています。