TOP 25 ALGORITMOS | Binary Search
É um algoritmo de busca usado em arrays organizados de forma crescente. Ele funciona dividindo repetidamente o intervalo de busca pela metade comparando o elemento alvo com o valor mediano do espaço de busca até que o elemento alvo seja encontrado, ou este intervalo esteja vazio. // javascript // function binarySearch(array, x){ let extremidade_menor = 0; let extremidade_maior = array.length - 1; let meio; while (extremidade_maior >= extremidade_menor) { meio = extremidade_menor + Math.floor((extremidade_maior - extremidade_menor) / 2); // Se o elemento estiver presente no próprio meio if (array[meio] == x) return meio; // Se o elemento for menor que o meio, ele só poderá estar presente no subarray esquerdo if (array[meio] > x) extremidade_maior = meio - 1; // Caso contrário, o elemento só pode estar presente no subarray direito else extremidade_menor = meio + 1; } //Chegamos aqui quando o elemento não está presente no array return -1; }
É um algoritmo de busca usado em arrays organizados de forma crescente. Ele funciona dividindo repetidamente o intervalo de busca pela metade comparando o elemento alvo com o valor mediano do espaço de busca até que o elemento alvo seja encontrado, ou este intervalo esteja vazio.
// javascript //
function binarySearch(array, x){
let extremidade_menor = 0;
let extremidade_maior = array.length - 1;
let meio;
while (extremidade_maior >= extremidade_menor) {
meio = extremidade_menor + Math.floor((extremidade_maior - extremidade_menor) / 2);
// Se o elemento estiver presente no próprio meio
if (array[meio] == x)
return meio;
// Se o elemento for menor que o meio, ele só poderá estar presente no subarray esquerdo
if (array[meio] > x)
extremidade_maior = meio - 1;
// Caso contrário, o elemento só pode estar presente no subarray direito
else
extremidade_menor = meio + 1;
}
//Chegamos aqui quando o elemento não está presente no array
return -1;
}
What's Your Reaction?