¿Es c * O (n) = O (n) verdadero?

Si y no.

La notación Big O tiene que ver con el límite de rendimiento de una función, ya que la entrada tiende hacia el infinito. En la práctica, no se utiliza la definición más estricta de complejidad; en su lugar, buscamos el término que más representa la forma en que un algoritmo se escala en relación con el tamaño de entrada.

Hay dos reglas simples que debemos seguir:

  1. En el caso de que la complejidad estricta sea una suma de términos, conservamos solo el término de orden superior y descartamos los términos de orden inferior. Esto se debe al hecho de que los términos de orden inferior generalmente representan un impacto trivial en el rendimiento a medida que aumenta la entrada.
  2. Del mismo modo, si se trata de un producto, descartamos cualquier constante (este sería el caso en su ejemplo). Hacemos esto porque las constantes no nos proporcionan información sobre cómo se escala el algoritmo.

Claro, si c es mayor que 1, la función representada por la expresión en el lado izquierdo de su ecuación siempre será igual o más lenta que la función representada por el lado derecho. Sin embargo, ambos se escalarán linealmente y, por lo tanto, se consideran de igual complejidad.

¡Espero que eso aclare las cosas!

En la forma en que esta pregunta está escrita, no. No puedes multiplicar un conjunto por un número como ese. Usemos una notación un poco más precisa para capturar realmente lo que probablemente se está preguntando.


Creo que lo que realmente estás preguntando es si [math] c \ cdot n \ in O (n) [/ math]. Esta afirmación es verdadera cuando [math] c [/ math] es una constante real positiva. Probémoslo. Diga [math] g (n) = cn [/ math].

La definición de Big-Oh establece [matemática] cn \ en O (n) [/ matemática] si y solo si existe una constante real positiva [matemática] c_1 [/ matemática] y un entero positivo [matemática] n_0 [/ matemática] tal que para todos [math] n \ geq n_0 [/ math], [math] cn \ leq c_1 \ cdot n [/ math]. Elija [matemática] c_1 = c [/ matemática], luego claramente para todos [matemática] n \ geq 1, cn \ leq cn. [/ Matemática] Elija [matemática] n_0 = 1 [/ matemática]. Por lo tanto, según la definición de Big-Oh, [math] cn \ en O (n) [/ math].

¡Espero que esto ayude!

En realidad, O (n) representa un conjunto de funciones y no una función en sí misma ni nada. Entonces, si interpretamos esto multiplicando una constante con todas las funciones del conjunto, la respuesta es sí, ya que la constante no perturbará el conjunto de funciones que representa.

Según mi intuición, esto es cierto porque el tiempo de ejecución no tiene un efecto constante. Como el Big O describe el límite superior, la constante no afectó el valor mayor de N.

More Interesting

¿Cuáles son los ejemplos de aplicación de la estructura de datos gráficos en la programación real?

¿Cuál es la complejidad temporal de resolver de manera recursiva el problema del salto de palabra?

¿Cuáles son las ventajas y desventajas de comparar la búsqueda de árboles de Monte Carlo y la programación dinámica aproximada?

Cómo mejorar un algoritmo para pseudo triangular un polígono

¿Cómo actualiza Facebook y clasifica las historias en el feed "Noticias principales"?

¿Cuántos casos hay para reequilibrar los árboles AVL?

Además de la complejidad de tiempo y espacio, ¿qué otras métricas de rendimiento deben tenerse en cuenta al medir el rendimiento de un algoritmo?

Cómo comenzar a aprender y explorar el campo de los Algoritmos de Big Data

¿Qué algoritmos y estructuras de datos debo aprender para ZCO e INOI?

¿Cuáles son los usos del algoritmo simplex en la programación competitiva? He visto muchos equipos superiores con el algoritmo simplex en sus cuadernos de equipo. ¿Hay algunos lugares específicos donde se puede usar simplex?

¿Cuál es el algoritmo más fácil para encontrar el camino más corto en un robot seguidor de línea para un principiante?

Cómo construir un secuenciador de ADN

Cómo evitar buscar directamente una solución al resolver problemas de algoritmos

¿Cómo encontraron los pilotos el camino más corto, cuando volaron a larga distancia en 1950?

¿Existen buenos libros o recursos para resolver problemas y algoritmos en C #, para la preparación de entrevistas SDET?