O(n²)
JavaScript · Unidad 21: Complejidad
- Plan completo
- JavaScript
- 8 ejercicios
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. Predice la salida
Si n pasa de 10 a 20, ¿qué le pasa al contador?
2. Completa el código
Completa para contar cada pareja una sola vez (sin juntar a nadie consigo mismo).
3. Predice la salida
Este cuenta parejas, no vueltas completas. ¿Qué imprime?
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. Encuentra el bug
Debe imprimir cada pareja del arreglo (
1-2,1-3y2-3). ¿Qué línea tiene el error?6. Ordena las líneas
Arma el contador de un ciclo dentro de otro.
7. Predice la salida
Aquí los dos ciclos recorren arreglos distintos. ¿Qué imprime?
8. Predice la salida
Dos contadores en el mismo programa, uno afuera y otro adentro. ¿Qué imprime?
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.