Dos fragmentos de código pueden producir resultados idénticos en un pequeño caso de prueba y comportarse de forma totalmente diferente en cuanto llegan datos reales. La notación Big O es la forma en que los científicos de la computación describen precisamente esta diferencia — describiendo matemáticamente cómo crece el número de operaciones a medida que aumenta el tamaño de la entrada.
Ampliación A-Level
Qué significa realmente la «O»
El Big O describe la tasa de crecimiento de un algoritmo — cómo crece el número de operaciones a medida que el tamaño de la entrada, tradicionalmente llamado n, aumenta. Ignora deliberadamente los factores constantes y los términos pequeños, porque la pregunta que se supone debe responder es «cómo crece esto», una pregunta cuya respuesta no depende del ordenador en el que se ejecute.
Las tasas de crecimiento que realmente importan
Un puñado de tasas de crecimiento cubre casi todos los algoritmos que encontrará, de mejor a peor a medida que crecen los datos:
- O(1) — constante. El mismo número de pasos sin importar el tamaño de la entrada, como comprobar si una lista está vacía.
- O(log n) — logarítmico. Las operaciones crecen muy despacio cuando n aumenta — por ejemplo, la búsqueda binaria en una lista ordenada.
- O(n) — lineal. Duplique la entrada, duplique el trabajo — como recorrer cada elemento de una lista sin ordenar una vez.
- O(n²) — cuadrático. Duplique la entrada, el trabajo se cuadruplica — típico de comparar cada elemento con cada otro elemento.
Para un n pequeño, estas curvas se parecen — la diferencia que determina qué algoritmo realmente sobrevive a los datos del mundo real solo aparece cuando n se vuelve grande, y ese es exactamente el dominio para el que el Big O está diseñado.
Try it yourself — drag the slider to change the input size (n), and watch how many operations each growth rate actually needs.
Input size: n = 10
At n = 10, an O(n²) approach needs 100 operations — 10× more than the O(n) approach doing the exact same job.
Un algoritmo cuadrático, O(n²), que realiza 100 operaciones para 10 elementos hace 1.000.000 para 1.000 elementos — no 100 veces más trabajo para 100 veces más datos, sino 10.000 veces más.
Pregunta tipo examen
Un algoritmo realiza 8 operaciones para 4 elementos, 32 operaciones para 8 elementos y 128 operaciones para 16 elementos. Determina su tasa de crecimiento Big O, mostrando tu razonamiento. [3 puntos]
Mostrar respuesta modelo y desglose de puntos
- Compara casos consecutivos donde n se duplica: 4 → 8, y 8 → 16 (1 punto)
- El número de operaciones se cuadruplica cada vez: 8 → 32 (×4), y 32 → 128 (×4) (1 punto)
- Cuando duplicar n hace que el número de operaciones se cuadruplique (×4 = ×2²), esta es la firma del crecimiento cuadrático: O(n²) (1 punto)
Lo que valora el examinador: identifica el patrón específico entre las duplicaciones de n y el multiplicador resultante en las operaciones — esa razón (aquí, ×4 por duplicación) es lo que realmente identifica la tasa de crecimiento, no los números en bruto por sí solos.
Error frecuente: suponer un crecimiento lineal solo porque los números «aumentan consistentemente», sin comprobar la relación de duplicación que distingue O(n) (×2 por duplicación de n) de O(n²) (×4 por duplicación).
Por qué la diferencia entre tasas de crecimiento importa en la práctica
Con datos de prueba pequeños, un algoritmo O(n²) y un algoritmo O(n log n) pueden ambos terminar en una fracción de segundo — la diferencia es invisible. Haga crecer la misma entrada hasta el tamaño que un producto real maneja de verdad, y el enfoque O(n²) puede tomar horas reales donde el enfoque O(n log n) toma segundos.
Por qué esto importa más allá de escribir código correcto
Cualquier programador puede escribir código que produzca la respuesta correcta. Si la informática es algo que usted o su hijo deberían entender explicando por qué un enfoque es mejor que otro, no solo la sintaxis, eso es exactamente lo que ofrece nuestra clase particular de informática GCSE y A-Level, y puede ver el camino de aprendizaje completo aquí.
Preguntas frecuentes
¿Por qué ignoramos las constantes y los términos pequeños — no se pierde información útil?
El Big O está deliberadamente diseñado para responder a una pregunta específica — cómo crece el tiempo de ejecución cuando la entrada se vuelve muy grande — y cuanto mayor es n, menos importan las constantes. El Big O no cuenta toda la historia del rendimiento, pero predice correctamente qué algoritmo gana una vez que los datos son lo bastante grandes.
¿Es siempre un Big O más bajo la mejor opción en la práctica?
No automáticamente — para entradas pequeñas, un algoritmo con peor Big O pero un factor constante mucho más pequeño puede realmente ejecutarse más rápido en la práctica, ya que el punto de cruce donde el «mejor» algoritmo empieza a ganar puede no llegar hasta un n mucho mayor.
¿Cómo usan realmente el Big O los programadores en el día a día, no solo en entrevistas?
Es la forma en que un desarrollador predice si un enfoque seguirá funcionando una vez que lleguen datos reales (muy grandes). Buscar en una lista sin ordenar es O(n); la búsqueda binaria en una lista ordenada es O(log n) — una diferencia invisible con 10 elementos e inmensa con 10 millones.
Valoraciones y reseñas de lectores
Valore este artículo en varios aspectos — su opinión ayuda a otros lectores, y nos ayuda a mejorar.
¿Le ha resultado útil este artículo?
Cuéntenos qué le parece — una corrección, una pregunta sin responder, o un tema que le gustaría ver tratado a continuación.
¿Prefiere hablarlo? Reserve una videollamada gratuita cuando le convenga: 15 minutos para una pregunta rápida, 30 para todo lo demás. Los horarios aparecen en su zona horaria.

Sobre el autor
Sudershan Soni
Fundador y tutor principal en Mostak Services — tutor de matemáticas, ciencias, informática y STEM titulado con máster, con más de 20 años de experiencia profesional, enseñando a alumnos desde el 11+ y el GCSE hasta el A-Level y más allá, en línea en todo el mundo.
Leer el perfil completo