Schnelle Partitionierung ist ein Algorithmus zur Aufteilung einer Datenmenge in zwei Teilmengen, sodass die Summe der Elemente in einer Teilmenge der Summe der Elemente in der anderen Teilmenge möglichst nahe kommt.
Die schnelle Partitionierung ist ein gieriger Algorithmus, was bedeutet, dass sie bei jedem Schritt die beste Wahl trifft, ohne die zukünftigen Konsequenzen zu berücksichtigen. Der Algorithmus funktioniert, indem er zunächst ein zufälliges Element aus der Menge auswählt und die Menge dann in zwei Teilmengen aufteilt, sodass die Summe der Elemente in einer Teilmenge größer oder gleich der Summe der Elemente in der anderen Teilmenge ist. Der Algorithmus wendet diesen Prozess dann rekursiv auf jede Teilmenge an, bis die gewünschte Anzahl von Partitionen erreicht ist.
Die zeitliche Komplexität der schnellen Partitionierung beträgt O(n log n), wobei n die Anzahl der Elemente in der Menge ist. Dies liegt daran, dass der Algorithmus die Menge rekursiv in zwei Teilmengen aufteilt und jeder rekursive Aufruf O(n) Zeit benötigt.
Die schnelle Partitionierung ist ein weit verbreiteter Algorithmus zum Partitionieren von Daten und wird häufig in Verbindung mit anderen Algorithmen wie Sortieren und Suchen verwendet.