inplacePartitionierung
InplacePartitionierung bezeichnet das in-situ Aufteilen einer Datenfolge, typischerweise eines Arrays, in zwei oder mehr Teilmengen, ohne nennenswerten zusätzlichen Speicher zu verwenden. Das bedeutet, alle Operationen erfolgen durch Vertauschen oder Verschieben der vorhandenen Elemente im ursprünglichen Speicher.
Typische Anwendung ist die Partitionierung im Rahmen von Sortier- und Selektionsalgorithmen. Die häufigsten Partitionierungsschemata sind die
Drei-Wege-Partitionierung (Dutch National Flag) wird eingesetzt, wenn viele Duplikate auftreten, um die Partitionierung effizienter zu gestalten.
Eigenschaften: Inplace-Partitionierung ist in der Regel instabil; die relative Reihenfolge gleicher Elemente kann verloren gehen. Die
Anwendungen: QuickSort nutzt Inplace-Partitionierung im Durchschnitt; Quickselect verwendet Partitionierung, um das k-te Kleinste zu finden, ohne
Varianten: Mehrere Pivots, um bessere Lastverteilung zu erzielen; stabilität erfordert oft zusätzlichen Speicher oder andere Techniken,