Índice:
Definição - O que significa Pesquisa Binária?
Um algoritmo de pesquisa binária é usado para encontrar a posição de um valor específico contido em uma matriz classificada. Trabalhando com o princípio de dividir e conquistar, esse algoritmo de pesquisa pode ser bastante rápido, mas a ressalva é que os dados precisam estar em uma forma classificada. Ele funciona iniciando a pesquisa no meio da matriz e trabalhando descendo a primeira metade inferior ou superior da sequência. Se o valor mediano for menor que o valor alvo, isso significa que a pesquisa precisa aumentar, caso contrário, ela precisa procurar a parte descendente da matriz.
Uma pesquisa binária também é conhecida como pesquisa de meio intervalo ou pesquisa logarítmica.
Techopedia explica Pesquisa Binária
Uma pesquisa binária é um método rápido e eficiente de encontrar um valor-alvo específico de um conjunto de itens solicitados. Ao iniciar no meio da lista classificada, ele pode efetivamente reduzir o espaço de pesquisa pela metade, determinando se deve subir ou descer a lista com base no valor mediano em comparação com o valor alvo.
Por exemplo, com um valor de destino de 8 e um espaço de pesquisa de 1 a 11:
- O valor mediano / médio é encontrado e o ponteiro é definido lá, que neste caso é 6.
- A meta de 8 é comparada a 6. Como 6 é menor que 8, a meta deve estar na metade superior.
- O ponteiro é movido para o próximo valor (7) e comparado ao alvo. É menor, portanto, o ponteiro passa para o próximo valor mais alto.
- O ponteiro está agora no 8. Comparando isso com o alvo, é uma correspondência exata, portanto o alvo foi encontrado.
Usando a pesquisa binária, o destino teve que ser comparado apenas com três valores. Comparado a fazer uma pesquisa linear, ele teria começado do primeiro valor e subido, precisando comparar a meta a oito valores. Uma pesquisa binária só é possível com um conjunto ordenado de dados; se os dados forem organizados aleatoriamente, uma pesquisa linear produziria resultados o tempo todo, enquanto uma pesquisa binária provavelmente ficaria presa em um loop infinito.