|
Ein Algorithmus arbeitet in-place bzw. in
situ, wenn er außer dem für Speicherung der zu bearbeitenden Daten benötigten Speicher nur eine konstante, also von der zu bearbeitenden Datenmenge unabhängige, Menge von Speicher benötigt.
Der Algorithmus überschreibt die Eingabedaten mit den Ausgabedaten.
So arbeitet etwa der BubbleSort-Algorithmus in-place, während BucketSort out-of-place arbeitet, weil die Ausgabedaten in einer
zweiten Liste gespeichert werden müssen.
Die Platzkomplexität von in-place arbeitenden Algorithmen
ist, in der Landau-Notation ausgedrückt, O(1).
Funktionale Programmiersprachen unterstützen
oft keine in-place-Algorithmen.
|