Next: Randomisierter-Median-Algorithmus
Up: Selektieren und Sortieren
Previous: Einleitung
Blum, M. and RW. Floyd and V.R. Pratt and R.L. Rivest and R.E. Tarjan: Time bounds for selection.
JCSS (1973), p. 448-461.
Sei m eine kleine ungerade Zahl (etwa ). Sei .Suche i-kleinstes Element in S. Wir betrachten folgenden Algorithmus BFPRT:
- 1.
- Teile S in Blöcke auf, davon mit m Elementen
- 2.
- Sortiere jede diese Blöcke
- 3.
- Sei S' die Menge der Mediane der Blöcke
Bestimme rekursiv den Median dieser Mediane (also das -kleinste Element). Nenne diesen Median s.
- 4.
- Partitioniere in , . Bemerkung: , falls
- 5.
- Falls , bestimme rekursiv das i-kleinste
Element in S1
Falls i=|S1|+1, gib s als Lösung zurück.
Sonst (falls |S2| > n-i) bestimme rekursiv das
(i-|S1|-1)-kleinste Element in S2
Komplexitätsbetrachtung (# Vergleiche im worst-case):
Sei T(n) die worst-case Anzahl von Vergleichen für |S|=n des
Algorithmus BFPRT. Sei Cm die von Vergleichen, um m
Elemente zu sortieren (z.B. . Es gilt:
Beweis: Behauptung:
Behauptung ist ok, falls
Schlußbemerkung:
Abbas-Bardia Kabiri-Jarghouyeh
3/3/1999