Apuntes
- Para poder calcular la notación Big O depende si se desea medir el tiempo o espacio
Notación Big-O en complejidad temporal
let bar = 'test' // O(1)
if(){} // O(1)
for(){} // O(n)
while(){} // O(n)
for(){ for(){} } // O(n^2)
Notación Big-O en complejidad espacial
- Comprende en ver cuantas variables se van creando
let bar = 'test' // O(1)
if(){} // O(1)
for(){} // O(1)
let resultado = [1, 2, ..., n] // O(n)
let dimensional = [[1, 2], [3, 4], ...] // O(n²)
- Para simplificar la notación nos concentramos en el valor podemos abreviarlo de la siguiente manera
- O(2n) ⇒ O(n)
- O(50) ⇒ O(1)
- O(n² + 50) ⇒ O(n²)
- Es posible simplificar de esta manera, ya que solo nos importa el grado mayor
El crecimiento importa
- La complejidad de un algoritmo nace de cuantos recursos utiliza el algoritmo al ejecutarse.
- La notación Big-O solo se enfoca en el crecimiento.