Hallo zusammen,
wie kann ich bei einer rekursiven Methode erkennen, ob es sich um eine lineare, oder schlichte Rekursion handelt?
Bspw. bei der Funktion:
int Fkt(int x){
System.out.println(x);
if (x < 9)
return x;
if (Fkt(x/2) % 2 == 0)
return Fkt(x - 10);
else
return Fkt(x - 20);
}
In dem Fall würde ich sagen, dass die Funktion linear ist, da jeder Aufruf in der Methode nur zu einem Selbstbezug führt, jedoch nicht schlicht ist, da sie nach dem Selbstbezug weiter verarbeitet wird durch erneute Aufrufe?
Vielleicht kann mir jemand mal erklären, woran ich das festmachen kann.
Vielen Dank im Voraus.
Viele Grüße
wie kann ich bei einer rekursiven Methode erkennen, ob es sich um eine lineare, oder schlichte Rekursion handelt?
Bspw. bei der Funktion:
int Fkt(int x){
System.out.println(x);
if (x < 9)
return x;
if (Fkt(x/2) % 2 == 0)
return Fkt(x - 10);
else
return Fkt(x - 20);
}
In dem Fall würde ich sagen, dass die Funktion linear ist, da jeder Aufruf in der Methode nur zu einem Selbstbezug führt, jedoch nicht schlicht ist, da sie nach dem Selbstbezug weiter verarbeitet wird durch erneute Aufrufe?
Vielleicht kann mir jemand mal erklären, woran ich das festmachen kann.
Vielen Dank im Voraus.
Viele Grüße