Seite 1 von 1

Bubbelsort - "durchbubbeln"

Verfasst: 12. Aug 2013 16:31
von stef
Hallo Zusammen,

beim lernen für die Klausur ist mit jetzt folgendes aufgefallen.
Im Transskript heißt es zum Thema "durchbubbeln" :

Innere Schleife:„durchbubbeln“
Nach j>=0 Iterationen steht an Position j das größte Element im Indexbereich 1 bis j.
In der nächsten Iteration werden dafür die Elemente an der j­‐ten und an der j plus ersten
Position verglichen, und wenn das an der j‐ten Position größer ist, werden die beiden Elemente vertauscht.


Im Wiki steht:
If S[j-1]>S[j] , swap S[j-1] and S[j] .

In der Präsentation war auch j-1 immer das größte Element.

Jetzt stellt sich mir die Frage ob j oder j-1 das größte Element ist?
Oder hab ich einen Denkfehler?

Danke für Eure Hilfe! :D

Re: Bubbelsort - "durchbubbeln"

Verfasst: 13. Aug 2013 09:43
von JannikV
Hm.. Und wenn du dir den zweiten Satz bei Correctness durchliest? Macht es das etwas klarer?
Ich bin mir gerade nicht sicher ob das wirklich eine Inkonsistenz ist.
Sonst beschreib das Problem bitte nochmal genauer.

VG

Re: Bubbelsort - "durchbubbeln"

Verfasst: 13. Aug 2013 12:08
von stef
Hm..naja mein Problem ist das ich mir jetzt nicht genau sicher bin ob nun j oder j-1 die bisher größte gefundene Zahl ist. Da ja laut dem Transskript j und j+1 verglichen werden und im Wiki j und j-1. Wobei im ersten Fall j und im zweiten Fall j-1 die größte Zahl ist.

Re: Bubbelsort - "durchbubbeln"

Verfasst: 13. Aug 2013 17:40
von JannikV
Ich glaube im Trasskript fangen die einfach anders an mit j zu zählen. Dort steht ja nach j > 0 Iterationen... Im Wiki steht da ja sinngemäß "für j von 2 bis |S|-i+1" ...
Also Implementationsdetail. Da scheint das Transskript nicht konsistent zum Wiki zu sein wenn ich das richtig verstehe.. Ein Widerspruch muss es aber nicht sein.

Re: Bubbelsort - "durchbubbeln"

Verfasst: 13. Aug 2013 20:18
von stef
ok...und woher weiß ich in der Klausur wie ich zählen muss?
Ich glaub ich steh auf dem Schlauch... :oops: :lol:

Re: Bubbelsort - "durchbubbeln"

Verfasst: 13. Aug 2013 20:20
von JannikV
Also verbindlich ist grundsätzlich eh das Wiki ;)
Aber besagtes j ist ja gar nicht die Iterationsvariable i, die wirklich wichtig ist. j ist ja nur dazu da um einmal den größten Wert durchzuschieben. An sich ziemlich trivial und wo man letztlich anfängt zu zählen ist Implementationsdetail. So lange es funktioniert ist ja gut.

VG