Was ist der Unterschied zwischen externer Sortierung und interner Sortierung? Ich sehe nicht, wie die Eingabedaten im RAM gespeichert werden können oder nicht, was mit dem Algorithmus zu tun hat.Was ist der Unterschied zwischen externer Sortierung und interner Sortierung?
Antwort
Bei der internen Sortierung werden alle zu sortierenden Daten während der Sortierung ständig gespeichert. Bei der externen Sortierung werden Daten außerhalb des Speichers (wie auf der Festplatte) gespeichert und nur in kleinen Blöcken in den Speicher geladen. Die externe Sortierung wird normalerweise angewendet, wenn Daten nicht vollständig in den Speicher passen.
So in der internen Sortierung können Sie so etwas wie Shell-Sortierung tun - greifen Sie einfach auf Array-Elemente, die Sie wollen, in welchem Moment Sie wollen. Dies ist bei der externen Sortierung nicht möglich - das Array ist nicht vollständig im Speicher, so dass Sie nicht willkürlich auf ein beliebiges Element im Speicher zugreifen können, und der wahlfreie Zugriff auf die Festplatte ist normalerweise extrem langsam. Der externe Sortieralgorithmus muss mit dem Laden und Entladen von Datenstücken auf optimale Weise umgehen.
externer Speicher - Sie erhalten Teile der Daten gleichzeitig? – committedandroider
@committedandroider: Ja, weil Sie nicht alle Daten in den verfügbaren Speicher passen können. – sharptooth
- 1. Was ist der Unterschied zwischen Bucket-Sortierung und Radix-Sortierung?
- 2. Was ist der Unterschied zwischen Bestellung und Sortierung?
- 3. d3: Unterschied zwischen Sortierung und aufsteigend
- 4. Was ist der Unterschied zwischen der Verwendung externer und # Headerdateien?
- 5. Was ist der Unterschied zwischen A. length und A.heap-size?
- 6. Was ist der Unterschied zwischen der internen Uhrensynchronisation und der externen Uhrensynchronisation in verteilten Systemen?
- 7. Was ist der Unterschied zwischen `==` und `ist`?
- 8. Was ist der Unterschied zwischen:.! und: r !?
- 9. Was ist der Unterschied zwischen Difftime und '-'?
- 10. Was ist der Unterschied zwischen $ und $$?
- 11. Was ist der Unterschied zwischen Verilog! und ~?
- 12. was ist der Unterschied zwischen [[], []] und [[]] * 2
- 13. Was ist der Unterschied zwischen/* ... */und/** ... */
- 14. Was ist der Unterschied zwischen `&` und `ref`?
- 15. Was ist der Unterschied zwischen $ (...) und `...`
- 16. Was ist der Unterschied zwischen .Equals und ==
- 17. Was ist der Unterschied zwischen "$^N" und "$ +"?
- 18. Was ist der Unterschied zwischen + = und = +?
- 19. Was ist der Unterschied zwischen? und ? = Nil
- 20. Was ist der Unterschied zwischen $ (()) und Ausdruck?
- 21. Was ist falsch an meiner Sortierung?
- 22. Was ist der Unterschied zwischen:
- 23. Was bedeuten Zeichensatz und Sortierung genau?
- 24. Sortierung ohne Sortierung mit Sortierung (Liste, Schlüssel = Str.Loer)
- 25. Leistung und Sortierung und eindeutige eindeutige zwischen mysql und php
- 26. jTabelle und Sortierung
- 27. Ist Scala Sortierung stabil?
- 28. mysql Sortierung und zwischen der Verwendung einer Unterabfrage
- 29. SQL-Sortierung und Bindestriche
- 30. WCF Sortierung und filtring
http://en.wikipedia.org/wiki/External_sorting –
http://en.wikipedia.org/wiki/Internal_sort –
Wenn Sie den Unterschied zwischen In-Memory- oder Out-of-Memory-Sortierung nicht sehen können Sie haben nicht genug über die Sache nachgedacht. Ich schlage vor, Sie schreiben Programme, um beides zu tun. Sortiere zuerst eine Liste von ganzen Zahlen der Länge 100; Als nächstes sortiere eine Liste von Ganzzahlen, die zum Beispiel auf 4 TB laufen. –