Eu tenho o seguinte código Python.
def collatz(n):
if n <= 1:
return True
elif (n%2==0):
return collatz(n/2)
else:
return collatz(3*n+1)
Qual é o tempo de execução desse algoritmo?
Experimentar:
Se denota o tempo de execução da função . Então eu acho que tenho
{ T ( n ) = 1 para n ≤ 1 T ( n ) = T ( n / 2 ) para n par T ( n ) = T ( 3 n + 1 ) para n ímparcollatz(n)
Eu acho que será lg n se n for par, mas como calcular a recorrência em geral?
collatz
tag no MathOverflow, etc. As pesquisas mais recentes mostram que o problema tem qualidades fractais intrínsecas que dificultam.