Forum: Programmieren allgemein
by alzaimar,
15. Dez 2009
Sehr erfreut, Ihren Charakter kennenzulernen.
Sortiert sollte die Liste schon sein, so wie in der Lösung des Threaderstellers erwähnt.
Allerdings hast Du bezüglich er mangelnden Korrektheit Recht. Da hat sich -da ungetestet- ein kleiner Fehler eingeschlichen. Danke für's testen. Hier der korrekte Code: Er ist sogar etwas einfacher:
// MyArray ist sortiert.
j := 0;
i := 1;
Forum: Programmieren allgemein
by alzaimar,
15. Dez 2009
Das ist -mit Verlaub- falsch.
Mein Algorithmus ist O(n) und nicht O(n^2). Auch nicht irgendwas dazwischen. Wir haben eine einfache Schleife über alle Arrayelemente.
Dein Algorithmus ist O(n^2), da es sich um zwei verschachtelte Schleifen mit einer Schleifenlänge proportional N (Anzahl der Arrayelemente) handelt.
Wenn man das Sortieren hinzuzählt, dann ist mein Algorithmus O(n log n)....
Forum: Programmieren allgemein
by alzaimar,
15. Dez 2009
Corpsman, deine Lösung ist vom Aufwand O(n^2), meine nur O(n).
Forum: Programmieren allgemein
by alzaimar,
15. Dez 2009
j := 0;
i := 1;
while i < Length (MyArray) - 1 do begin
if MyArray <> MyArray then begin
MyArray := MyArray;
inc(j);
SetLength (MyArray, Length (MyArray) - 1);
end;
inc(i);
end;