-
Notifications
You must be signed in to change notification settings - Fork 0
Guia de Complejidad
Joel Alvarez edited this page Jul 12, 2026
·
1 revision
Esta guía resume el vocabulario mínimo para explicar costos con claridad.
| Notación | Qué describe | Cómo explicarla |
|---|---|---|
| Big O | Cota superior | El algoritmo no crece peor que esta función, ignorando constantes |
| Θ | Cota ajustada | El algoritmo crece al mismo orden por arriba y por abajo |
| Ω | Cota inferior | El algoritmo necesita al menos este costo en los casos relevantes |
La complejidad amortizada reparte operaciones costosas sobre muchas operaciones baratas.
Ejemplo:
- Insertar en un
Vecsuele costarO(1). - Cuando el arreglo interno crece, una inserción puede costar
O(n). - En una secuencia larga, el costo amortizado por inserción sigue siendo
O(1).
| Patrón | Tiempo típico | Espacio típico |
|---|---|---|
| Recorrido lineal | O(n) |
O(1) |
| Hash map de frecuencias | O(n) |
O(n) |
| Sorting | O(n log n) |
depende del algoritmo |
| Binary search | O(log n) |
O(1) |
| DFS/BFS en grafo | O(V + E) |
O(V) |
| Heap push/pop | O(log n) |
O(n) |
| DP 1D | O(n) |
O(n) o O(1) comprimido |
| DP 2D | O(n * m) |
O(n * m) |
| Backtracking | exponencial | profundidad de recursión + resultado |
- ¿Qué tamaño controla la entrada principal?
- ¿Hay ciclos anidados reales o solo ciclos secuenciales?
- ¿La estructura auxiliar crece con la entrada?
- ¿La complejidad cambia entre promedio y peor caso?
- ¿Hay una operación oculta costosa, como
sort,cloneo búsqueda lineal?
- "La cota temporal es
O(n)porque cada elemento entra y sale de la ventana a lo sumo una vez." - "El espacio es
O(k)porque el mapa guarda como máximokclaves distintas." - "La operación es amortizada
O(1): algunos crecimientos cuestan más, pero no ocurren en cada inserción." - "La cota ajustada es
Θ(n)porque cualquier solución debe mirar todos los elementos para decidir."