¿Qué es la Notación Big O? Midiendo la Escalabilidad de tu Código

Publicado el 08/07/2026 (Act. 29/09/2026) 3 min lectura Dificultad: Principiante

El problema de escalar a ciegas

Cuando escribimos un bloque de código para buscar el nombre de un usuario en una base de datos de 10 personas, casi cualquier solución va a parecer instantánea. Pero, ¿qué pasa si la aplicación tiene éxito y mañana esa lista tiene 1.000.000 de usuarios?

Para saber si un código está bien optimizado, los desarrolladores no miden el tiempo en segundos absolutos. Una computadora de última generación siempre ejecutará las tareas más rápido que un celular antiguo, por lo que el tiempo directo no siempre es una métrica confiable.

En su lugar, utilizamos la notación Big O (la letra mayúscula O, del término "Orden"). Esta notación matemática sirve para describir el comportamiento asintótico: no mide el tiempo, sino cómo crece el número aproximado de operaciones que debe hacer el procesador a medida que aumenta la cantidad de datos ($n$).

El personaje operando la maquinaria gigante de forma relajada y sin esfuerzo, simbolizando un código escalable y bien optimizado que maneja grandes volúmenes de datos fácilmente La notación Big O nos ayuda a predecir si nuestro código seguirá siendo rápido cuando los datos se multipliquen por un millón.

Los escenarios más comunes

Para entender cómo escala un algoritmo, veamos las tres complejidades más comunes (además de casos intermedios como O(log n) que se ven en búsquedas binarias):

1. O(1) - Complejidad Constante (El ideal)

Significa que, sin importar si procesamos 10 datos o 10 millones, el procesador hace aproximadamente la misma cantidad de operaciones para encontrar la respuesta. Ejemplo: Acceder directamente a un elemento de un array si ya conocemos su posición (índice) exacta. El esfuerzo no se multiplica.

2. O(n) - Complejidad Lineal (El habitual)

El esfuerzo crece de forma directamente proporcional a los datos. Si la cantidad de datos se duplica, el trabajo del procesador también se duplica. Ejemplo: Leer una lista de usuarios uno por uno desde el principio hasta el final hasta encontrar el que buscamos. Es un crecimiento predecible y manejable.

3. O(n²) - Complejidad Cuadrática (El cuello de botella)

Significa que por cada nuevo dato que agregamos, el esfuerzo se multiplica de forma cuadrática. Si los datos se duplican, el trabajo se multiplica por cuatro. Ejemplo: Un bucle anidado (un for dentro de otro for). Si tenemos 1.000 usuarios y los comparamos a todos contra todos, el procesador hace 1.000.000 de operaciones, lo que puede volver la aplicación extremadamente lenta.

Programar para el futuro

La notación Big O es la herramienta conceptual que nos permite separar un código que "simplemente funciona" de una arquitectura de software pensada para escalar, aunque siempre deba complementarse con métricas reales (profiling y benchmarking).

Elegir la estructura de datos correcta y el algoritmo adecuado desde el día uno nos ayuda a garantizar que, cuando el tráfico se multiplique, el sistema pueda absorber esa carga de forma fluida.


¿Te resultó útil? Compartilo