Qué es la complejidad algorítmica Big O explicado para principiantes

Qué es la complejidad algorítmica: Big O explicado para principiantes

Si alguna vez te preguntaron «¿cuál es la complejidad de este algoritmo?» y no supiste qué responder, este post es para vos. La complejidad algorítmica Big O mide qué tan bien escala tu código cuando los datos crecen — y una vez que entendés la lógica, empezás a verla en todos los algoritmos que escribís.…

Si alguna vez te preguntaron «¿cuál es la complejidad de este algoritmo?» y no supiste qué responder, este post es para vos. La complejidad algorítmica Big O mide qué tan bien escala tu código cuando los datos crecen — y una vez que entendés la lógica, empezás a verla en todos los algoritmos que escribís.

→ Si todavía estás aprendiendo algoritmos desde cero, primero leé algoritmos básicos: fundamentos que todo principiante debe dominar.


Qué es la complejidad algorítmica Big O

La complejidad algorítmica Big O es una forma de medir cuánto tiempo o memoria necesita un algoritmo en función del tamaño de la entrada. No mide segundos — los segundos dependen del hardware. Mide cómo crece el tiempo cuando crece la cantidad de datos.

¿Por qué importa? Porque un algoritmo que funciona bien con 100 elementos puede volverse inutilizable con 1.000.000. Entender la complejidad algorítmica Big O te ayuda a elegir la solución correcta antes de que el problema se haga grande.


Notación Big O: cómo leerla sin complicarte

Big O describe el peor caso posible de un algoritmo. Se escribe O(algo), donde «algo» describe cómo crece el tiempo según el tamaño de la entrada (n).

Leéla así: «a medida que n crece, el tiempo crece como…»

NotaciónNombreQué significa
O(1)ConstanteSiempre tarda lo mismo, sin importar n
O(log n)LogarítmicaCrece muy lento (ej: búsqueda binaria)
O(n)LinealCrece proporcional a n
O(n log n)Lineal logarítmicaUn poco más que lineal (ej: merge sort)
O(n²)CuadráticaCrece rápido — dos loops anidados
O(2ⁿ)ExponencialCrece explosivamente — evitar siempre

Complejidad algorítmica Big O con ejemplos en Python

O(1) — Constante

python

def primero(lista):
    return lista[0]

Siempre accedés al primer elemento sin importar el tamaño de la lista. El tiempo no cambia.

O(n) — Lineal

python

def buscar(lista, objetivo):
    for elemento in lista:
        if elemento == objetivo:
            return True
    return False

En el peor caso revisás todos los elementos. Si la lista se duplica, el tiempo se duplica.

O(n²) — Cuadrática

python

def tiene_duplicados(lista):
    for i in range(len(lista)):
        for j in range(i + 1, len(lista)):
            if lista[i] == lista[j]:
                return True
    return False

Dos loops anidados que dependen del tamaño de la lista. Si n se duplica, el tiempo se cuadruplica. Para listas grandes, esto se vuelve muy lento muy rápido.

O(log n) — Logarítmica

La búsqueda binaria. Cada paso descarta la mitad de los elementos. Con 1.000.000 de elementos, necesitás a lo sumo 20 pasos. Podés ver la implementación completa en búsqueda binaria en Python: cómo funciona y cuándo usarla.


Cómo identificar la complejidad algorítmica Big O en tu propio código

Una vez que aprendés los patrones, es automático:

  • Un loop simple sobre n elementos → O(n)
  • Dos loops anidados sobre n → O(n²)
  • Acceder por índice o clave de diccionario → O(1)
  • Dividir el problema a la mitad en cada paso → O(log n)

El truco es preguntarte: «si n se hace 10 veces más grande, ¿cuánto más tarda mi código?»


¿Necesitás dominar la complejidad algorítmica Big O para tu primer trabajo?

No necesitás ser experto en análisis de algoritmos para conseguir tu primer empleo. Pero sí deberías poder:

  • Reconocer un O(n²) cuando lo ves (dos loops anidados)
  • Saber que acceder a un diccionario por clave es O(1)
  • Entender por qué la búsqueda binaria es mejor que la lineal para listas grandes
  • No entrar en pánico cuando te pregunten «¿cuál es la complejidad de esto?» en una entrevista

Si estás preparándote para entrevistas, también leé cómo prepararte para una entrevista técnica siendo programador junior.


Seguí practicando en el campus

La complejidad algorítmica Big O se entiende mejor practicando que leyendo. En el campus de Academia MC tenés ejercicios de algoritmos donde podés aplicar este conocimiento — sin costo, con desafíos reales y comunidad para resolver dudas. Entrá en campus.marianacasella.com.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Portada » Blog » Qué es la complejidad algorítmica: Big O explicado para principiantes

Tal vez esto te interese…