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

Ich habe einen Computer mit 1 MB RAM und keinen anderen lokalen Speicher. Ich muss es verwenden, um 1 Million 8-stellige Dezimalzahlen über eine TCP-Verbindung zu akzeptieren, sie zu sortieren und die sortierte Liste dann über eine andere TCP-Verbindung auszusenden.

Die Liste der Nummern kann Duplikate enthalten, die ich nicht wegwerfen darf. Der Code wird im ROM abgelegt, sodass ich die Größe meines Codes nicht von 1 MB subtrahieren muss. Ich habe bereits Code zum Ansteuern des Ethernet-Ports und zum Verarbeiten von TCP / IP-Verbindungen. Für die Statusdaten sind 2 KB erforderlich, einschließlich eines 1-KB-Puffers, über den der Code Daten liest und schreibt. Gibt es eine Lösung für dieses Problem?

Quellen für Fragen und Antworten:

slashdot.org

cleaton.net

Antworten auf die Frage(30)

Ihre Antwort auf die Frage