0 Daumen
1,3k Aufrufe

Muss auf das Array = { 2 1 6 3 9 7 0 -2 10 } Quicksort mit Median of Three anwenden. Bei mir würde das Array im nächsten Schritt so aussehen { 2 1 0 -2 3 9 7 6 10 9}.

Die Lösung soll aber so aussehen { -2 1 0 2 9 7 6 3 10}.

Das versteh ich nicht ganz, wenn ich von 2 3 10 das Mittel nehme, bekomme ich 3 zurück. Die 3 wird an die letzte Stelle im Array getauscht und in Partition als Pivot  ausgewählt, da Partition bei uns so definiert ist. Median ist bei uns Anfang + Ende / 2 (abgerundet), also Position von 3.

von

1 Antwort

+1 Daumen
 
Beste Antwort
Anfang + Ende / 2

0 + 8 / 2 = 4

Alternativ: (1 + 9)/2 = 5

In beiden Fällen ist 9 das Element, das in deine Median-of-Three-Berechnung einfließt.

von 3,5 k

Wie die 9 hier wieder in die Mitte kommt ist mir nicht klar, da 10 und 9 vertauscht werden, bevor Partition darauf angewendet wird. Bei mir wird dann zum Schluss die 9 mit der 10 vertauscht. Das ergibt folgendes Array (2, 1, 6, 3, 7, 0, -2, 9, 10) nach dem ersten Partition Aufruf.

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

0 Daumen
1 Antwort
0 Daumen
1 Antwort
Gefragt 3 Apr 2017 von Gast

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community