Tengo el siguiente código de Python.
def collatz(n):
if n <= 1:
return True
elif (n%2==0):
return collatz(n/2)
else:
return collatz(3*n+1)
¿Cuál es el tiempo de ejecución de este algoritmo?
Tratar:
Si denota el tiempo de ejecución de la función . Entonces creo que tengo
collatz(n)
Creo que será si es par, pero ¿cómo calcular la recurrencia en general?lg n n
collatz
etiqueta en MathOverflow, etc. Las últimas investigaciones muestran que el problema tiene cualidades fractales intrínsecas que lo dificultan.