Sorting 1 million 8-digit numbers in 1 MB of RAM

Eu tenho um computador com 1 MB de RAM e nenhum outro armazenamento local. Devo usá-lo para aceitar 1 milhão de números decimais de 8 dígitos em uma conexão TCP, classificá-los e enviar a lista classificada para outra conexão TCP.

A lista de números pode conter duplicatas, que não devo descartar. O código será colocado na ROM, então não preciso subtrair o tamanho do meu código do 1 MB. Eu já tenho código para conduzir a porta Ethernet e lidar com conexões TCP / IP, e requer 2 KB para seus dados de estado, incluindo um buffer de 1 KB através do qual o código irá ler e gravar dados. Existe uma solução para este problema?

Fontes de pergunta e resposta:

slashdot.org

cleaton.net

questionAnswers(30)

yourAnswerToTheQuestion