
¿Qué es T(n) y Cómo Calcular la Complejidad Big O a Partir de una Fórmula?
¿Te dieron una fórmula como T(n) y no sabes cómo calcular su complejidad Big O? Aprende paso a paso cómo identificar el término dominante sin complicarte.
¿Qué es T(n) y cómo calcular la complejidad cuando solo te dan una fórmula?
Aprende a leer estas expresiones sin volverte loco
A veces, en clase de algoritmos o en un examen, no te dan código, ni loops, ni listas. Solo te presentan algo como:
Y te preguntan:
“¿Cuál es la complejidad Big O?”
Y tú quedas con cara de: ¿esto qué tiene que ver con programar?
En este post te explicamos paso a paso cómo leer y simplificar estas fórmulas sin ahogarte en matemáticas.
¿Qué significa T(n)?
- La letra T representa el tiempo (o el número de operaciones).
- La letra n es el tamaño del problema (generalmente, la cantidad de datos).
- Entonces, T(n) describe cuánto aumenta el tiempo (o los pasos) conforme crece n.
La notación Big O se utiliza para expresar ese crecimiento de manera simplificada, ignorando detalles que no afectan en valores grandes de n.
¿Cómo se resuelve? Pasos básicos
Paso 1: Ignora las constantes (sumas y multiplicaciones)
En Big O, el +100
no importa cuando n es muy grande, ya que se considera constante. Del mismo modo, si tuviéramos 5n
, podemos ignorar el factor 5, porque lo relevante es cómo escala n
.
El resultado queda:
Paso 2: Detecta los términos con “n” y cuánto crecen
- El término
2n
crece linealmente. - El término
4n²
crece más rápido (cuadrático).
En Big O te quedas con el término dominante, es decir, el que más rápido crece.
Entonces:
Paso 3: Cuidado con exponentes de n (exponenciales)
10^(2n)
es exponencial: se puede reescribir como(10^2)^n = 100^n
.n²
es grande, pero comparada con la exponencial, se queda pequeña.
El resultado es:
o, más precisamente, O(100^n)
. Todas son exponentiales y se etiquetan igual en Big O.
Ejercicios para practicar
🧠 Reto 1
✔️ Solución
7n
crece con el input.+30
es constante y se ignora.
Resultado final:
🧠 Reto 2
✔️ Solución
- Los términos presentes son
n
,n^3.5
yn^3.75
. - El exponente mayor es
3.75
, así que ese es el que domina.
Resultado final:
🧠 Reto 3
✔️ Solución
(2n)
está como exponente → exponencial.n²
es menor en comparación.
Resultado final:
(Recuerda que 10^(2n)
= 100^n
y se considera exponencial.)
Resumen práctico de notaciones
Crecimiento | Notación | Ejemplo típico |
---|---|---|
Constante | O(1) | T(n) = 100 |
Lineal | O(n) | T(n) = 7n |
Cuadrático | O(n²) | T(n) = 3n + 9n² |
Polinómico | O(n^k) | T(n) = n^3.75 |
Logarítmico | O(log n) | T(n) = log(n) |
Exponencial | O(2^n) | T(n) = 2^n + n² |
Esta tabla te servirá como referencia rápida para reconocer y clasificar la complejidad en Big O.
¿Por qué importa y qué pasa si me equivoco?
La idea principal de la notación Big O no es ser exacto al milímetro, sino entender la manera en que el algoritmo escala con el número de datos. Si te equivocas al principio, no pasa nada: con la práctica reconocerás estos patrones al instante.
Conclusión y más recursos
- Ignora constantes y factores multiplicativos.
- Elige el término de mayor crecimiento (exponencial > polinómico > lineal > constante).
- Con la práctica, se vuelve cada vez más intuitivo.
¿Quieres profundizar más?
Te recomiendo también leer “Complejidad Algorítmica Big O para Principiantes”. Ahí encontrarás más ejemplos y explicaciones para consolidar tus conocimientos sobre notación Big O.