Invariante ; Hilfe!

Amaninho

Grünschnabel
hab hier mal ein problem komme garnicht vorran :( bitte um hilfe...
Java:
x=a[right];
i=left; j=right-1;
while (i<=j) {
while (a[i]<x) { ++i; }
while ((j>=left) && (a[j]>=x)) { --j; }
if (i<j) {swap(a, i, j); ++i; --j;}
}
swap(a, i, right);

Geben Sie für diesen Algorithmus eine Invariante an und begründen Sie mit ihrer Hilfe die
Korrektheit.
 
ZU allererst einmal, was soll der Algorithmus machen. Auf den ersten Blick ohne es mir genauer anzusehen würde ich auf Quicksort tippen, liege richtig?
 
Moin,

hast Du schon mal nach "Quicksort Invariante" gegoogled?
Da gibt es doch jede Menge Seiten (bspw. gleich der erste Link), die erklären, wie man die Korrektheit der Invariante beweisen kann ....

Gruß
Klaus
 
Moin,

Wenn es so wäre bräuchten wir doch gar nicht hier so ein Forum oder?

ganz ehrlich, bevor ich hier (oder ähnlichen Foren) Fragen stelle, schaue immer erst mal im Web nach Lösungsansätzen!
Ein bisschen Eigeninitiative (oder zumindest der Versuch derselben) wird hier schon ganz gerne gesehen :p

Nix für ungut!
Gruß
Klaus
 
Moin,
ganz ehrlich, bevor ich hier (oder ähnlichen Foren) Fragen stelle, schaue immer erst mal im Web nach Lösungsansätzen!
Ein bisschen Eigeninitiative (oder zumindest der Versuch derselben) wird hier schon ganz gerne gesehen :p
Oder: bevor du hier etwas schreibst, solltest du schon mal versuchen, dein Problem mit Hilfe von
a) intelligentem Überlegen
b) Nutzung von Suchmaschinen
zu lösen, weil:
1.) sonst einige Menschen hier nicht oder stark gereizt antworten werden
2.) es erfahrungsgemäß einige Zeit dauert, bis dir hier jemand den entscheidenden Tipp gibt
3.) du sonst nicht weißt, welche ähnlichen Fehler die Nutzer hier (fälschlicher weise) vermuten könnten
4.) du lernst, Suchmaschinen zu nutzen (inklusive Eigenheiten, "versteckten" Funktionen, Parametern, ...)
 

Neue Beiträge

Zurück