Big-O: cuánto tarda tu código cuando los datos crecen

O(1), O(n), O(log n), O(n²)... con un visualizador que compara la búsqueda lineal y la binaria contando pasos.

Big-O no mide segundos: mide cómo CRECE el trabajo cuando crecen los datos. Un algoritmo O(n) con el doble de datos tarda el doble; uno O(n²), cuatro veces más. Por eso importa antes de que tu programa vaya lento con datos reales.

Lineal vs binaria: míralo

Las dos buscan un número en una lista ordenada. La lineal mira uno a uno; la binaria descarta la mitad en cada paso. Sube el tamaño y compara las comparaciones:

Las complejidades que verás

Reconocerlo en el código

// O(1): no depende del tamaño
function primero(lista) { return lista[0]; }

// O(n): un bucle sobre los datos
function suma(lista) {
  let total = 0;
  for (const x of lista) total += x;   // n iteraciones
  return total;
}

// O(n²): un bucle dentro de otro
function hayDuplicados(lista) {
  for (let i = 0; i < lista.length; i++)
    for (let j = i + 1; j < lista.length; j++)   // n · n
      if (lista[i] === lista[j]) return true;
  return false;
}

// O(n): el mismo problema con un Set
function hayDuplicados2(lista) {
  const vistos = new Set();
  for (const x of lista) {
    if (vistos.has(x)) return true;   // has() es O(1)
    vistos.add(x);
  }
  return false;
}

Comprueba lo aprendido

Siguiente paso

Estructuras de datos visualizadas · Algoritmos de ordenación y búsqueda