Aprender

0
Lección ~12 min

Notación Big O: Midiendo la Eficiencia

¿Qué tan rápido es tu algoritmo? Aprende a medir el crecimiento en lugar de los segundos.

¿Por qué no usar simplemente un cronómetro?

Un cronómetro mide tu máquina; la notación Big O mide tu *idea*. Dos computadoras distintas darán tiempos diferentes para el mismo programa — pero la forma en que el trabajo de un algoritmo *crece* a medida que aumentan los datos es una propiedad intrínseca del algoritmo. Ese crecimiento es lo que describe Big O.

Operations vs input size

Drag the slider — watch the curves separate as data grows.

n = 24ops
O(1)1 ops
O(log n)5 ops
O(n)24 ops
O(n log n)110 ops
O(n²)576 ops

Crecimiento, no segundos

Big O responde una sola pregunta: cuando la entrada de datos se duplica, ¿qué le ocurre al trabajo?

- O(1) — constante: duplicar la entrada no cambia nada. Ejemplo: leer una posición específica de una lista. - O(log n) — logarítmico: duplicar la entrada añade solo *un* paso adicional. Ejemplo: búsqueda binaria. - O(n) — lineal: duplicar la entrada duplica el trabajo. Ejemplo: revisar cada elemento uno por uno. - O(n log n) — algoritmos de ordenamiento eficientes. - O(n²) — cuadrático: duplicar la entrada *cuadruplica* el trabajo. Bucles anidados, ordenamiento burbuja.

Puntos clave

  • Big O describe cómo escala el trabajo según el tamaño de la entrada, sin depender del hardware.
  • O(1) < O(log n) < O(n) < O(n log n) < O(n²) para volúmenes grandes de datos.
  • Las constantes se ignoran: 2n y n pertenecen a O(n).
  • Siempre nos enfocamos en el comportamiento para n grande; con datos pequeños las diferencias se ocultan.

¿Listo para continuar?

¡Todos los ejercicios completados! Marca la lección como terminada para guardar tus puntos de XP y desbloquear la siguiente.