Ir al contenido
OneKitly

Notación Big O para principiantes: O(1), O(n), O(n al cuadrado) y O(log n) explicadas

Publicado el 11/3/2026 · 4 min de lectura · Herramientas para desarrolladores

Daniel Okonkwo

Daniel OkonkwoDesarrollador front-end y redactor de Tecnología en OneKitly

Rendimiento web · Formatos de archivo

Verificado con 2 fuentes

Ver perfil
En resumen

La notación Big O describe cómo crece el tiempo de ejecución o la memoria de un algoritmo al crecer el tamaño de entrada n, ignorando factores constantes y términos pequeños. O(1) significa que el trabajo permanece igual sin importar cuán grande sea la entrada; O(log n) crece muy despacio, duplicar la entrada añade solo un paso; O(n) crece al ritmo de la entrada; y O(n al cuadrado) crece con el cuadrado, así que duplicar la entrada cuadruplica el trabajo. Importa porque con n grande estas diferencias deciden si un programa termina en milisegundos o en horas.

Big O describe cómo crece el trabajo de un algoritmo al crecer la entrada. Esto es lo que significan O(1), O(n), O(n al cuadrado) y O(log n) y por qué importa la diferencia.

Crecimiento, no tiempo de cronómetro

Big O no trata de cuántos segundos tarda algo en tu portátil. Trata de cómo escala el trabajo cuando la entrada crece. Dos algoritmos pueden ser ambos O(n), y aun así uno corre el doble de rápido en hardware real por un factor constante menor. Big O descarta a propósito esa constante, porque con n suficientemente grande la forma de la curva de crecimiento domina cualquier multiplicador fijo.

La notación también conserva solo el término que crece más rápido. Un algoritmo que hace 3n al cuadrado más 5n más 200 operaciones es simplemente O(n al cuadrado), porque una vez que n es grande el término al cuadrado empequeñece al resto. Por eso Big O es una lupa tosca pero potente: te da la clase de comportamiento, justo lo que necesitas al decidir si una solución sobrevivirá a cien veces más datos.

Las cuatro clases comunes

O(1) es tiempo constante: leer un elemento de arreglo por índice o comprobar una clave de mapa hash cuesta el mismo esfuerzo tenga la colección diez elementos o diez millones. O(log n) es logarítmico: la búsqueda binaria reduce a la mitad los datos restantes en cada paso, así que buscar en una lista ordenada de mil millones de elementos toma solo unas treinta comparaciones. Reducir a la mitad es la imagen espejo de duplicar que ves al convertir números entre bases.

O(n) es lineal: sumar cada elemento o recorrer una lista una vez toca cada elemento exactamente una vez, así que el trabajo sube en línea recta con n. O(n al cuadrado) es cuadrático y suele venir de bucles anidados, como comparar cada par de elementos. Con n de 1000 son un millón de operaciones; con n de 1 000 000 son un billón, y ahí es donde el código cuadrático ingenuo se vuelve inservible sin ruido.

Por qué importa la clase que eliges

La complejidad es lo que separa un prototipo que funciona en tu archivo de prueba de un software que sobrevive a los datos de producción. Ordenar con un algoritmo O(n al cuadrado) parece instantáneo con cien filas y se congela con un millón. Cambiar a una ordenación O(n log n) mantiene la misma tarea por debajo de un segundo. El algoritmo que eliges, no la velocidad de la máquina, fija el techo de cuántos datos puedes manejar.

Dicho esto, Big O es asintótico: describe el comportamiento cuando n tiende a infinito. Para entradas pequeñas, una rutina más simple O(n al cuadrado) puede vencer a una sofisticada O(n log n) con mucha sobrecarga. La regla práctica es conocer la clase de cada operación central y luego optimizar las partes que verán de verdad un n grande, en vez de perseguir constantes en código que solo maneja entradas diminutas.

Conversor de basesConvierte un número entre las 35 bases, sin redondeo, con complemento a dos.Probar la herramienta

Preguntas frecuentes

¿Un Big O menor es siempre más rápido?
No para entradas pequeñas. Big O ignora los factores constantes, así que un método O(n log n) con mucha preparación puede perder frente a un simple bucle O(n al cuadrado) cuando n es diminuto. La clase menor gana una vez que la entrada es lo bastante grande.
¿Cuál es la diferencia entre O(log n) y O(n log n)?
O(log n) hace una sola pasada logarítmica, como una única búsqueda binaria. O(n log n) hace una cantidad logarítmica de trabajo por cada uno de los n elementos, que es el costo de algoritmos de ordenación eficientes como el merge sort.
¿Big O cubre también la memoria?
Sí. La misma notación describe la complejidad espacial, cuánta memoria extra necesita un algoritmo al crecer n. Una ordenación in situ puede usar O(1) de espacio extra, mientras que una que copia los datos usa O(n).
¿Por qué ignoramos las constantes y los términos menores?
Porque con n grande el término que crece más rápido domina todo lo demás, y las constantes dependen de un hardware que no controlas. Descartarlos da una comparación portable de cómo escalan los algoritmos, independiente de cualquier máquina.

Artículos que podrían interesarte

Todas las guías
Explicación¿Qué son UTF-8 y Unicode? Puntos de código, codificación en bytes y por qué ganó UTF-8Unicode asigna a cada carácter un punto de código; UTF-8 codifica esos puntos de código en uno a cuatro bytes. Así funciona y por qué venció a las alternativas.ExplicaciónCómo funcionan las máscaras de subred: CIDR, bits de red y hosts utilizablesEntiende cómo una máscara de subred divide una dirección IP en partes de red y host, qué significa /24 y cómo contar los hosts utilizables.ExplicaciónLa entropía de contraseñas explicada: bits, longitud y cuánto tarda en descifrarseQué mide realmente la entropía de una contraseña, por qué la longitud supera a la complejidad y cómo los bits de entropía se traducen en un tiempo de descifrado realista.TutorialCómo leer binario y convertirlo a decimal y hexadecimalAprende cómo funcionan los valores posicionales binarios y convierte binario a decimal y hexadecimal a mano, con ejemplos claros.Tutorial¿Cuánto se tarda en subir un archivo? La fórmula tamaño por 8 dividido entre la velocidadEstima el tiempo de subida con una fórmula: el tamaño del archivo en bits dividido entre tu velocidad de subida. Descubre por qué la subida suele ser más lenta que la bajada y cómo la sobrecarga afecta el resultado.Explicación¿Qué es el bitrate? Bits por segundo, CBR frente a VBREl bitrate es cuántos bits de datos usa cada segundo un flujo de video o audio. Aprende cómo fija la calidad y el tamaño, y la diferencia entre bitrate constante y variable.

Herramientas relacionadas

Fuentes

¿Has detectado un error en este artículo?