Por que o uso de um loop para iterar do início da matriz para o final é mais rápido do que a iteração do início ao fim e do início ao fim?
Dada uma matriz tendo.length
100
contendo elementos com valores0
para99
nos respectivos índices, onde o requisito é encontrar o elemento da matriz igual an
: 51
.
Por que o uso de um loop para iterar do início da matriz para o final é mais rápido do que a iteração do início ao fim e do início ao fim?
const arr = Array.from({length: 100}, (_, i) => i);
const n = 51;
const len = arr.length;
console.time("iterate from start");
for (let i = 0; i < len; i++) {
if (arr[i] === n) break;
}
console.timeEnd("iterate from start");
const arr = Array.from({length: 100}, (_, i) => i);
const n = 51;
const len = arr.length;
console.time("iterate from start and end");
for (let i = 0, k = len - 1; i < len && k >= 0; i++, k--) {
if (arr[i] === n || arr[k] === n) break;
}
console.timeEnd("iterate from start and end");
jsperfhttps://jsperf.com/iterate-from-start-iterate-from-start-and-end/1