Medida de cómo un algoritmo o programa utiliza los recursos disponibles.
Incluye tiempo de ejecución y espacio en memoria para resolver un problema o ejecutar una tarea. Se mide con Big O.
// Comparación de eficiencia // ❌ O(n²) - Ineficiente para arrays grandes function buscarDuplicados(arr) { const duplicados = []; for (let i = 0; i < arr.length; i++) { for (let j = i + 1; j < arr.length; j++) { if (arr[i] === arr[j]) duplicados.push(arr[i]); } } return duplicados; } // ✅ O(n) - Eficiente usando Set function buscarDuplicadosEficiente(arr) { const vistos = new Set(); const duplicados = new Set(); for (const item of arr) { if (vistos.has(item)) { duplicados.add(item); } vistos.add(item); } return [...duplicados]; } // Medir rendimiento console.time('eficiente'); buscarDuplicadosEficiente(arrayGrande); console.timeEnd('eficiente'); // eficiente: 5ms