View Full Version : [FRAGE] - das pivotelement ist nicht immer die letzte Stelle oder?
Ja ich weiss die Frage ist blöd, aber ich hab bis jetzt noch nie eine Folge gesehen, bei der das Pivotelement z.B. genau in der Mitte vorkommt.
Wie soll ich die Folge sortieren, wenn genau dieser Fall auftritt?
z.B. 9 0 5 8 2 6 3 1 4 2, da kann ich die letzte Stelle nicht als Pivot wählen.
Original geschrieben von eXe
das pivotelement ist doch frei wählbar hängt von der implementierung ab ob mittleres letztes oder sonst eines
wieso sollte 2 da nicht als pivotelement gehen?
edit: z.B. dann halt diese Folge 9 0 5 8 2 6 3 2 4 1
oder noch fieser: 9 8 7 6 5 4 3 2 1
das pivotelement ist doch frei wählbar hängt von der implementierung ab ob mittleres letztes oder sonst eines
wieso sollte 2 da nicht als pivotelement gehen?
Heeelp bin am Verzweifeln!!! :(
9 0 5 8 2 6 3 2 4 1 p=4
2 0 5 8 2 6 3 9 4 1
2 0 3 8 2 6 5 9 4 1
2 0 3 2 8 6 5 9 4 1
2 0 3 2 4 6 5 9 8 1
-----------------------------------
2 0 3 2 p=2
2 0 3 2
--------------------------------------
________6 5 9 p=9??
Und wie geht's weiter? :confused:
MrBurnst
16-04-2002, 17:19
muss da ganz links nicht ein "stop"element (kleinstes Element) stehen? habe nämlich genau das gleiche problem bei <7, 1012, 13, 128, 5, 4711, 34> ...
Jeff_Mills
16-04-2002, 17:24
ja b-börnst
es muss ein stop-element<min von 1-i A[i]
ganz links stehen damit der algo funkt
Jeff_Mills
16-04-2002, 17:25
stopp-Element X < min 1-i von A[i]
X ist kleiner als das Minimum des Arrays A[]
man könnte auch die Indexgrenzen überprüfen...
ach das lag das problem sorry nicht gecheckt :)
@jeuneS2: jo das hab ich mir auch mal überlegt warum das nicht so gemacht wird ;)
@jeuneS2: ist viel mehr Aufwand, bei jedem Durchlauf auf die Grenzen zu überprüfen, als einfach das Stoppelement einzubauen.
@Jeff_Mills: Die Wahl des Stoppelements kommt auf die Implementation des Quicksorts an. Wenn man eine Quicksortimplementierung mit:
Zeile 5: >=
Zeile 8: <
Zeile 9: <
Zeile 12: >= (oder >, ist egal)
verwendet, muß daß Stoppelement natürlich < dem Minimum sein und nicht nur <=.
Nur wenn man eine Implementation mit:
Zeile 5: >=
Zeile 8: <=
Zeile 9: <
Zeile 12: >=
verwendet, reicht es, wenn das Stoppelement <= dem Minimum ist.
vBulletin® v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.