Ho il seguente codice Python.
def collatz(n):
if n <= 1:
return True
elif (n%2==0):
return collatz(n/2)
else:
return collatz(3*n+1)
Qual è il tempo di esecuzione di questo algoritmo?
Provare:
Se indica il tempo di esecuzione della funzione collatz(n)
. Quindi penso di avere
Penso che sarà lg n se è pari ma come calcolare la ricorrenza in generale?
collatz
tag su MathOverflow, ecc. le ultime ricerche mostrano che il problema ha intrinseche qualità frattali che lo rendono difficile.