¿Qué es un límite superior asintóticamente apretado?

15

Por lo que he aprendido, la unión asintóticamente estrecha significa que está unida desde arriba y desde abajo como en la notación theta. Pero, ¿qué significa el límite superior asintóticamente ajustado para la notación Big-O?

Vivek Kumar
fuente
Esto también me confundió. ¿Por qué los autores no pueden decir "theta"? ¿Por qué inventar términos innecesarios?
Beroal

Respuestas:

20

Decir que un límite big-O es "asintóticamente apretado" básicamente significa que el autor debería haber escrito . Por ejemplo, O ( x 2 ) significa que no es más que algunas veces constantes  x 2 para todos los suficientemente grandes  x ; "asintóticamente apretado" significa que realmente es algunas veces constantes  x 2 para x suficientemente grande  y no, por ejemplo, algunas veces constantes  x 1.999 .Θ(-)O(X2)X2XX2XX1.999

David Richerby
fuente
13

Aquí hay un ejemplo que lo explica (y un ejemplo concreto de la buena respuesta de David).

Suponga que tiene un algoritmo que se da como entrada una matriz de enteros . El algoritmo explora la matriz e incrementa un contador inicialmente establecido en cero cada vez que ve un elemento que es un número entero par. Podemos probar las carreras del algoritmo en digamos O ( n 3 ) el tiempo, donde n es el número de elementos en una . Pero también podemos dar un límite más estricto y decir que se ejecuta a tiempo O ( n ) . Este límite es asintóticamente apretado: de hecho, ya que leer la entrada ya lleva Ω ( n Θ ( n ) tiempo.UNO(norte3)norteUNO(norte)Ω(norte)Θ(norte)

Juho
fuente
3
Ω(norte)
1
@j_random_hacker Tienes razón, debemos tener cuidado con eso. Para reiterar, por supuesto, un límite asintóticamente ajustado no dice nada acerca de la posibilidad de tener un algoritmo más rápido en general.
Juho