No es [math] O (n * \ sqrt {n}) [/ math], es solo O (N). Aquí está la prueba.
La complejidad del tiempo es equivalente al número de operaciones realizadas. En este caso particular, contar el número de operaciones es razonablemente fácil.
Número de operaciones = Número de veces que la variable de count
se actualizó = Número total de iteraciones.
- ¿Habría algún límite matemático potencial para una máquina física con el propósito de replicarse a sí mismo?
- ¿Cómo se animan dos arcos usando matplotlib?
- Cómo aprender machine learning con experiencia en negocios
- ¿Por qué es necesaria una variable de control en un experimento?
- Me gustaría graduarme en informática. ¿Cómo supero mi problema con el álgebra y las matemáticas?
El bucle interno se ejecuta I veces para cada bucle externo. El bucle externo cambia I de N a 0, reduciendo a la mitad en cada paso. Así, el número total de veces que se actualizó la variable de conteo fue:
[matemáticas] S = N + \ dfrac {N} {2} + \ dfrac {N} {4} + .. + 1 [/ matemáticas]
[matemáticas] S = N (1 + \ dfrac {1} {2} + \ dfrac {1} {4} + .. + \ dfrac {1} {2 ^ k}) [/ matemáticas]
Donde [matemáticas] k = log (N) [/ matemáticas]
[matemática] S = N * (2 – 2 ^ {- k}) = N * \ dfrac {2N-1} {N} [/ matemática]
[matemáticas] = O (N) [/ matemáticas]