Hallo allerseits,
Ich habe mich mit dem BubbleSort - Algorithmus versucht.
Hier ist meine Version:
Meine Frage nun: Wie kann ich die Laufzeit testen? In der mainMethode lasse ich mir die Zeitdifferenz ausgeben, aber die Millisekunden helfen mir natürlich auch nicht weiter. Wenn ich mich richtig erinnere liegt die Laufzeit des BubbleSort zwischen n² und nlog(n). Stimmt es, dass die Dauer der Sortierung bei 1000 Elementen also zwischen 3000 und 1'000'000 Millisekunden liegt? Mein Wert liegt leider deutlich darunter, weshalb ich wohl irgendwo einen Denkfehler gemacht habe.
andere Frage: Wenn ich der sort-Methode einen bereits sortierten Array übergebe, ist die Laufzeit nicht konstant. Woran liegt das?
Vielen Dank für Tipps und Hilfen!
Ich habe mich mit dem BubbleSort - Algorithmus versucht.
Hier ist meine Version:
Code:
public void sort(int[] a)
{
for(int j = 0; j < a.length; j++)
{
for(int i = 0; i < a.length-1; i++)
{
if(a[i] > a[i+1])
{
int x = a[i+1];
a[i+1] = a[i];
a[i] = x;
}
}
}
}
Meine Frage nun: Wie kann ich die Laufzeit testen? In der mainMethode lasse ich mir die Zeitdifferenz ausgeben, aber die Millisekunden helfen mir natürlich auch nicht weiter. Wenn ich mich richtig erinnere liegt die Laufzeit des BubbleSort zwischen n² und nlog(n). Stimmt es, dass die Dauer der Sortierung bei 1000 Elementen also zwischen 3000 und 1'000'000 Millisekunden liegt? Mein Wert liegt leider deutlich darunter, weshalb ich wohl irgendwo einen Denkfehler gemacht habe.
andere Frage: Wenn ich der sort-Methode einen bereits sortierten Array übergebe, ist die Laufzeit nicht konstant. Woran liegt das?
Vielen Dank für Tipps und Hilfen!