orkano
Grünschnabel
Dabei seit: 02.04.2008
Beiträge: 8
|
|
Hallo Ihr!
Ich habe einen QuickSort-Algo, der als Pivot immer das erste Element des 8-stelligen Arrays nimmt. Meine Aufgabe ist es nun eine Zahlenfolge aus 8 paarweise verschiedenen Zahlen zu finden, die einmal den best und einmal den worst case für QuickSort darstellt.
Der best case trifft ja genau dann ein, wenn die Wahl des neuen Pivotelements die Mengen genau in 2 Teile teilt.
Nehmen wir an ich hätte ein 8-stelliges Array mit den Zahlen von 1-8 und als Pivot wird immer das erste gewählt. Um jetzt einen best-case zu bekommen müsste also das erste Element im Array gleich der Median des Arrays sein, was also 5 ist.
Soweit so gut, aber jetzt komme ich nicht weiter! Wie muss ich die folgenden Zahlen so ordnen, dass das nächste Pivot immer gleich das "richtige", sprich der Median der Teilmenge, ist?
Danke euch!
EDIT: Zum Worst-Case:
Meiner Ansicht nach hat man den Worst-Case bei einem Szenario mit Pivot als erstem Element bei einem Absteigend vorsortierten Array. Stimmt das?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von orkano: 08.04.2008 21:22.
|
|