Saltar al contenido

O(n²)

JavaScript · Unidad 21: Complejidad

Un ciclo dentro de otro cambia todo: el de adentro corre completo por cada vuelta del de afuera.

Con n = 5 son 25 pasos; con n = 10, cien. Eso es O(n²), "orden n al cuadrado".

function pasos(n) {
  let p = 0;
  for (let i = 0; i < n; i++) {
    for (let j = 0; j < n; j++) {
      p++;
    }
  }
  return p;
}
console.log(pasos(5), pasos(10));

Imprime

25 100

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    Si n pasa de 10 a 20, ¿qué le pasa al contador?

  2. 2. Completa el código

    Completa para contar cada pareja una sola vez (sin juntar a nadie consigo mismo).

  3. 3. Predice la salida

    Este cuenta parejas, no vueltas completas. ¿Qué imprime?

  4. 4. Opción múltiple

    Un programa O(n²) hace un millón de pasos con 1000 datos. ¿Cuántos hace con 10 000?

  5. 5. Encuentra el bug

    Debe imprimir cada pareja del arreglo (1-2, 1-3 y 2-3). ¿Qué línea tiene el error?

  6. 6. Ordena las líneas

    Arma el contador de un ciclo dentro de otro.

  7. 7. Predice la salida

    Aquí los dos ciclos recorren arreglos distintos. ¿Qué imprime?

  8. 8. Predice la salida

    Dos contadores en el mismo programa, uno afuera y otro adentro. ¿Qué imprime?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →