Quicksort

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

Rekursion kann auch dazu genutzt werden, ein Problem in zwei (oder mehrere) einfacher zu lösende Teilprobleme zu zerlegen. Dies wird dann solange fortgesetzt, bis die Teilprobleme trivial zu lösen sind. Das von C.\ A.\ Hoare 1962 veröffentlichte Quicksort-Verfahren basiert auf dieser Vorgehensweise.

Problemstellung: Gegeben ist ein Feld K der Länge n mit Schlüsseln K1 ... Kn, die so zu permutieren sind, daß K1 <= ... <= Kn gilt.

Grenzfall: Wenn die Länge n 0 oder 1 beträgt, entfällt eine weitere Sortierung.

Zerlegung in zwei Teilprobleme: Ein beliebiger Schlüssel P (das sogenannte Pivotelement) aus K1 ... Kn ist auszuwählen (beispielsweise K1). Dann wird K so partitioniert, daß es i,j aus 1..n gibt, so daß gilt

*i = j + 1,
 
*Kt <= P V t E 1 ... j und
 
*Kt >= P V t E i ... n .
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999, 2004 Andreas F. Borchert, in HTML konvertiert am 28.01.2005