2012-04-10 124 views
7

外部ソートと内部ソートの違いは何ですか?入力データがRAMにどのように格納されているか、アルゴリズムと関係がないかはわかりません。外部ソートと内部ソートの違いは何ですか?

+1

http://en.wikipedia.org/wiki/External_sorting –

+1

http://en.wikipedia.org/wiki/Internal_sort –

+2

メモリ内またはメモリ不足のソートあなたはこの問題について十分に考えなかったのです。私は両方を行うプログラムを書くことをお勧めします。まず、長さ100の整数のリストをソートします。次に、例えば4TBまで実行している整数のリストをソートします。 –

答えて

9

内部ソートでは、ソートの進行中にソートするすべてのデータが常にメモリに格納されます。外部ソートでは、データはメモリの外側(ディスクのような)に保存され、小さな塊でメモリにロードされます。外部ソートは、通常、データが完全にメモリに収まらない場合に適用されます。

内部ソートでは、シェルソートのようなことができます。必要な配列要素にアクセスするだけで、いつでも必要なときにアクセスできます。外部ソートではできません。配列は完全にメモリに格納されていないので、メモリ内の任意の要素にランダムにアクセスすることはできず、ディスク上でランダムにアクセスすることは通常非常に遅いです。外部ソートアルゴリズムは、データのチャンクを最適な方法でロードおよびアンロードする必要があります。

+0

外部メモリ - 一度にデータの一部を取得しますか? – committedandroider

+0

@committedandroider:はい、すべてのデータを使用可能なメモリに収めることができないためです。 – sharptooth

関連する問題