complejidad del código dado?

Estoy tratando de descubrir la complejidad del código dado a continuación en función del tamaño del problema n.

sum = 0;

if (EVEN(n))
    for (i = 0; i < n; i++)
      if (i%2 == 0)
        O(logn)
      else
        sum ++;
else
    sum = sum + n;

Aquí está mi respuesta, pero no estoy seguro de haberlo hecho correctamente.

sum=0; is equal to O(1).

El primer bucle if else consta de un bucle for anidado, con una instrucción if anidada. Entonces sería n veces el código dentro del ciclo for. Dado que es la instrucción if y será el bloque 1 o el bloque 2. Dado que O(logn)es más lento que sum ++, que O(1)es O(logn). Por lo que es O(n)*O(logn).

Por lo tanto, la respuesta final sería O(1) + n*O(logn). ¿¿Es esto correcto??

Respuesta 1

Sí, O (nlog (n)) sería la complejidad.

Respuesta: 2

Necesito recuperar algunos datos en la base de datos en tiempo real de Firebase en función de los valores de un niño. Por ejemplo, aquí necesito mostrar solo el hijo (notificación) donde se acepta == verdadero. Transmito mis valores en ...

Estoy tratando de ignorar un carácter unicode (espacio en blanco) de una oración y cualquier ayuda será muy apreciada. Ejemplo: utmctr = google% 20search% 20keyword Salida deseada: palabra clave de búsqueda de google ...

mi java dekstop envía un error como este, ¿qué puedo hacer? getText () en JPasswordField ha quedado en desuso. He intentado reemplazar getText () y cambiar a getPassword (): pst.setString (2, txtPass ...

Posible duplicado: Java: ¿Leer rápidamente la última línea de un archivo de texto? Nuestro sistema mainframes está enviando un archivo que tiene encabezado, registros detallados y un avance. Quiero persistir estos detalles ...