Finden Sie bei einer Menge von 1 Billion ganzen Zahlen auf der Festplatte die kleinste 1 Million davon. Sie können höchstens 1 Million ganze Zahlen gleichzeitig im Speicher unterbringen.
Ein Ansatz ist, die ersten 1 Million von 1 Billion zu nehmen und die 1 Million Ganzzahlen zu sortieren und auf der Festplatte zu speichern. Auf diese Weise setzen Sie die Sortierung für jede Gruppe von 1 Million ganzen Zahlen fort und speichern sie auf der Festplatte. Nun sind die Gruppen von 1 Million ganzen Zahlen bis zu 1 Billion sortiert. Vergleichen Sie nun das erste Element aller sortierten Gruppen, das Minimum von ihnen ist das Minimum der 1 Billion. Speichern Sie es als erstes Element im Speicher. Als nächstes wird das zweite Element aus der Gruppe genommen, aus der das kleinste Element stammt, und dann mit dem ersten Element aller anderen Gruppen verglichen. Auf diese Weise wiederholen Sie den Vorgang, bis die erste 1 Million sortiert und im Speicher abgelegt ist.
Gibt es einen optimaleren Ansatz, den ich übersehe?