2017-12-09 21 views
-3

大きなファイルには50GBを含む大きなファイルがあります。ファイルを読み、内容をソートし、ソートした内容を別の新しいファイルにコピーする必要があります。 条件 - コンピュータには1GBのRAMしかありません。しかし、ディスク容量は問題ではありません。大容量のファイルの内容を低RAMでソート

+0

https://linux.die.net/man/1/sort –

+0

「コンピュータサイエンス」であなたの教育は何ですか、そしてインタビューは何のために行われましたか? – greybeard

+1

メモリを使用する代わりに、quicksort/mergesortを使用して記憶域を使用することができます。 – zwer

答えて

0

すべてのアイテムがメモリに収まるアイテムをソートすると、internal sortingと呼ばれます。アイテムが大きすぎてメモリに格納できないアイテムを並べ替えるときは、external sortingと呼びます。

コンピュータプログラミングの技術第3巻:ソートと検索ページ248では、外部ソートの詳細アルゴリズムについて説明します(1つはマージソートです)。

また、ファイルには50GBの数字が含まれています。たぶん重複した数が多いかもしれません。重複したロットがある場合は、カウントソートを使用することもできます。

+0

ありがとう、私はこれが正しいソリューションだと思います。 – user9065103

関連する問題