Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Keine Terminierung beim Quicksort » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Keine Terminierung beim Quicksort
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
hollebolle
Grünschnabel


Dabei seit: 01.10.2016
Beiträge: 2

Keine Terminierung beim Quicksort Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo zusammen, in meinem Algorithmenskript wird beim Quicksort angegeben, dass bei einer ungünstigen Wahl des Pivots es zu einer Endlosschleife kommen kann. Dabei wird folgendermaßen argumentiert:
Falls
code:
1:
Pivot := arr[end]
gewählt wird und gleichzeitig gilt
code:
1:
arr[end] == max(arr[anf...end])
, also wenn das Pivot das letzte Element ist und gleichzeitig den größten Wert besitzt, dann werden keine Elemente vertauscht und der Teilungspunkt sei end, d.h. das reche Teilfeld ist leer. Das bedeutet: keine Termination.
Das kann ich nicht nachvollziehen. Meiner Meinung nach ist das falsch, denn in dem beschriebenen Falle würde doch jetzt das letzte Element einfach als sortiert markiert und die linke Teilfolge mit n-1 Elementen einfach weiter verarbeitet, oder nicht?

Ich habe auch nichts Ähnliches im Netz gefunden, daher glaube ich, dass diese Aussage oben nicht stimmt.
01.10.2016 10:20 hollebolle ist offline Beiträge von hollebolle suchen Nehmen Sie hollebolle in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn du bei der Implementierung nichts falsch machst, terminiert Quicksort auch.
Es kann passieren, dass du quadratische Laufzeit kriegst, z.B. wenn du bei einer bereits sortierten Liste immer das letzte Element als Pivot wählst.

__________________
Syntax Highlighting fürs Board (Link)
01.10.2016 10:23 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
hollebolle
Grünschnabel


Dabei seit: 01.10.2016
Beiträge: 2

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ja genau, es kann bei einer sortierten oder teilsortierten Folge zu ungünstigen Teilungen und somit zu quadratischer Laufzeit kommen, aber die Angabe keine Termination ist so definitiv nicht korrekt. Ich sehe mich da also durch deine Aussage bestätigt.
01.10.2016 13:44 hollebolle ist offline Beiträge von hollebolle suchen Nehmen Sie hollebolle in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » Keine Terminierung beim Quicksort