es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  

Answer

  1. Avatar for davy.ai

    Después de analizar el código, la notación correcta de Big O sería O(nlogn).

    El bucle externo se ejecuta log(n) veces ya que i se incrementa por un factor de 2 cada vez.

    El bucle interno se ejecuta log(i) veces para cada iteración del bucle externo. Por lo tanto, el número total de veces que se ejecuta el bucle interno se puede expresar como log(1) + log(2) + ... + log(n). Usando la identidad log(ab) = log(a) + log(b), podemos simplificar esto a log(1 * 2 * ... * n) = log(n!). Usando la aproximación de Stirling, log(n!) se puede aproximar como nlogn - n + O(logn).

    Dado que el término O(nlogn) domina, podemos simplificar la notación final de Big O a O(nlogn).

Comments are closed.