Was ist der Unterschied zwischen externen Sortier-und internen Sortieren?
Was ist der Unterschied zwischen externen Sortier-und internen Sortieren? Ich sehe nicht, wie, ob die input-Daten können im RAM gespeichert werden oder nicht zu tun hat mit den Algorithmus.
- en.wikipedia.org/wiki/External_sorting
- en.wikipedia.org/wiki/Internal_sort
- Wenn Sie nicht sehen können, der Unterschied, dass in-memory-oder out-of-memory Sortieren macht Sie nicht gedacht habe, schwer genug, über die Sache. Ich schlage vor Sie schreiben Programme, beides zu tun. Zuerst Sortieren einer Liste von ganzen zahlen der Länge 100; next Sortieren einer Liste von Ganzzahlen, die ausgeführt wird, um, sagen wir, 4 TB.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der internen Sortierung alle Daten zu Sortieren, wird im Speicher gespeichert, zu allen Zeiten, während die Sortierung ist in Arbeit. In externen Sortieren der gespeicherten Daten außerhalb von Speicher (wie auf der Festplatte) und nur in den Speicher geladen, in kleine Würfel schneiden. Externes Sortieren wird in der Regel angewendet, in Fällen, wenn die Daten nicht passen in den Speicher vollständig.
So, in interne Sortierung, die Sie tun können, so etwas wie shell-sort - Zugang nur, was array-Elemente, die Sie wollen, egal zu welchem moment Sie wollen. Sie können nicht beim externen Sortieren - array nicht vollständig im Arbeitsspeicher, so können Sie nicht nur zufällig auf ein element im Speicher und auf Sie zugreifen, es zufällig auf der Festplatte ist in der Regel extrem langsam. Die externe Sortier-Algorithmus hat zu viel mit be-und entladen Stücke von Daten in optimaler Weise.