Hallo ihrs,
ich hab ein problem ich muss jeweils (getrennt für die Methoden fibIterative und
fibRecursive) über 10 Iterationen hinweg die durchschnittliche Zeit, die für das
Ermitteln der Fibonacci-Zahl für Werte von 0 <= n <= 30 benötigt wird ermitteln und das soll ich dann in der Main-Methode ausgeben.
Und das ist mein Kunstwerk was ich so gemacht habe. Ich hoffe es kann mir jemand
weiter helfen
ich hab ein problem ich muss jeweils (getrennt für die Methoden fibIterative und
fibRecursive) über 10 Iterationen hinweg die durchschnittliche Zeit, die für das
Ermitteln der Fibonacci-Zahl für Werte von 0 <= n <= 30 benötigt wird ermitteln und das soll ich dann in der Main-Methode ausgeben.
Und das ist mein Kunstwerk was ich so gemacht habe. Ich hoffe es kann mir jemand
weiter helfen
Code:
public class Fibo {
// Main-Methode zum Testen
public static void main(String[] args) {
//Instanz
Fibo fibo = new Fibo();
System.out.println("Hier"+fibo.fibIterative(30));
// Array
long[] zeitspeicher = new long[10];
//Zuweisung über eine Schleife
for (int a = 0; a < zeitspeicher.length; a++) {
long startzeit=System.currentTimeMillis();
int result=fibo.fibIterative(30);
long endzeit=System.currentTimeMillis();
long duration=endzeit-startzeit;
zeitspeicher[a]=duration+a;
System.out.println(duration);
}
//Ausgabe über Schleife
/*for (long a : zeitspeicher) {
System.out.println("da"+a/10);
}*/
}
/**
* Berechnet die n-te Fibonacci-Zahl rekursiv.
*
* @param n
* Die zu berechnende Fibonacci-Zahl.
* @return Wert der zu berechnenden Fibonacci-Zahl.
*/
public int fibRecursive(final int n) {
if (n == 0) {
return n;
}
if (n == 1) {
return n;
}
return fibRecursive(n - 1) + fibRecursive(n - 2);
}
/**
* Berechnet die n-te Fibonacci-Zahl iterativ.
*
* @param n
* Die zu berechnende Fibonacci-Zahl.
* @return Wert der zu berechnenden Fibonacci-Zahl.
*/
public int fibIterative(final int n) {
int ergebnissFibo=0;
for (int k=0; k<10; k++) {
int currentFib = 0;
int nextFib = 1;
for (int i = 0; i < n; i++) {
int tmp = nextFib;
nextFib = currentFib + nextFib;
currentFib = tmp;
}
ergebnissFibo=currentFib; //return currentFib;
}
return ergebnissFibo;
}
}