dog
12-10-2007, 14:50
Hi
hab mir schon mal zu dem 1. Übungsblatt ein paar gedanken gemacht:
Ich fang mal von hinten an:
1.10:
Wenn ich das richtig verstanden habe gebe ich zu beginn folgende werte in den Algorithmus
z.B.:
A= 10,0,1,3
l = 0 (Anfangsposition)
r = 4
Führe ich nun den Algorithmus aus. so habe ich gleich am Anfang ein Problem :
1. Schritt:
r-l = 4-0 --> trifft zu
min = 1
max = 0
2.Schritt
Vertausche A[0] = 10 mit A[1]
--> 0,10,1,3
Und hier passiert meiner Ansicht nach der Fehler:
Schritt 3:
Vertausche A[4] mit A[0]
da aber an position 0 mitlerweile ein anderer Wert steht passt das nicht mehr
--> 3,10,1,0 da sich die indizes der Folge dur den ertsen schritt geändert haben
richtig wäre, glaube ich:
falls r-l>1 dann{ min = position minimales Element in A[l...r]
Vertausche A[l] mit A[min]
max = position maximales Element in A[l...r]
Vertausche A[r] mit A[max]
...Sollte eigentlich so pasen oder?
1.6:
Vielleicht hab ich da einen Denkfehler aber ist hier nicht nur dieser Teik zu ändern:
für i=j+1..n{falls A[i].key > A[maxpos].key dann{maxpos=i}}1.4: haben wir im eingangstest und in der Vorlseung schon gehabt
1.8, 1.9 bin ich grade am bearbeiten.
Und bei 1.1 und 1.2 hab ich irdgendwie noch keine allgemeinen Regeln ableiten können wie das zu lösen ist, hat da jemand eine Ahnung
mfg dog
hab mir schon mal zu dem 1. Übungsblatt ein paar gedanken gemacht:
Ich fang mal von hinten an:
1.10:
Wenn ich das richtig verstanden habe gebe ich zu beginn folgende werte in den Algorithmus
z.B.:
A= 10,0,1,3
l = 0 (Anfangsposition)
r = 4
Führe ich nun den Algorithmus aus. so habe ich gleich am Anfang ein Problem :
1. Schritt:
r-l = 4-0 --> trifft zu
min = 1
max = 0
2.Schritt
Vertausche A[0] = 10 mit A[1]
--> 0,10,1,3
Und hier passiert meiner Ansicht nach der Fehler:
Schritt 3:
Vertausche A[4] mit A[0]
da aber an position 0 mitlerweile ein anderer Wert steht passt das nicht mehr
--> 3,10,1,0 da sich die indizes der Folge dur den ertsen schritt geändert haben
richtig wäre, glaube ich:
falls r-l>1 dann{ min = position minimales Element in A[l...r]
Vertausche A[l] mit A[min]
max = position maximales Element in A[l...r]
Vertausche A[r] mit A[max]
...Sollte eigentlich so pasen oder?
1.6:
Vielleicht hab ich da einen Denkfehler aber ist hier nicht nur dieser Teik zu ändern:
für i=j+1..n{falls A[i].key > A[maxpos].key dann{maxpos=i}}1.4: haben wir im eingangstest und in der Vorlseung schon gehabt
1.8, 1.9 bin ich grade am bearbeiten.
Und bei 1.1 und 1.2 hab ich irdgendwie noch keine allgemeinen Regeln ableiten können wie das zu lösen ist, hat da jemand eine Ahnung
mfg dog