O que é pesquisa binária em Java? Como implementar?



A pesquisa binária em Java é um algoritmo de pesquisa que encontra a posição de um valor de destino em uma matriz classificada. Neste artigo, direi como implementá-lo com a ajuda de um exemplo.

Os algoritmos de pesquisa e classificação são os algoritmos populares em qualquer linguagem de programação. Eles são a base para entender os fundamentos da programação. Um algoritmo de pesquisa popular é a Pesquisa Binária em . Neste artigo, contarei tudo sobre sua implementação.

Os tópicos abaixo são abordados neste artigo:





Vamos começar!

O que é pesquisa binária?

Pesquisa binária em é um algoritmo de pesquisa que encontra a posição de um valor alvo dentro de um matriz . Busca binária compara o valor de destino com o elemento do meio da matriz. istofunciona apenas em um conjunto classificado de elementos. Para usar a pesquisa binária em uma coleção, o deve primeiro ser classificado.



Programa de pesquisa binária em Java - Pesquisa binária em Java - EdurekaQuando o é usado para realizar operações em um conjunto classificado, o número de iterações pode sempre ser reduzido com base no valor que está sendo pesquisado. Você pode ver no instantâneo acima como encontrar o elemento médio . A analogia da pesquisa binária é usar a informação de que a matriz é classificada e reduzir a complexidade do tempo para O (log n) .

Implementando Algoritmo de Pesquisa Binária

Vamos dar uma olhada no pseudocódigo abaixo para entendê-lo de uma maneira melhor.

Procedimento binary_search A & larr ordenado array n & larr tamanho do array x & valor larr a ser pesquisado Defina baixo = 1 Defina alto = n enquanto x não encontrado se for alto

Explicação:



Passo 1: Primeiro, compare x com o elemento do meio.

Passo 2: Se x corresponder ao elemento do meio, você deve retornar o índice do meio.

Etapa 3: Caso contrário, se x for maior do que o elemento do meio, então x pode ficar apenas na metade da matriz do lado direito após o elemento do meio. Portanto, você recorre à metade direita.

Passo 4: Caso contrário, se (x for menor), então, ocorrerá para a metade esquerda.

É assim que você precisa procurar o elemento na matriz fornecida.

como criar uma lista vinculada em c

Vamos agora ver como implementar um algoritmo de pesquisa binária recursivamente. O programa abaixo demonstra o mesmo.

Pesquisa binária recursiva

public class BinarySearch {// Implementação Java da busca binária recursiva // Retorna o índice de x se estiver presente em arr [l..h], caso contrário, retorna -1 int binarySearch (int a [], int l, int h, int x) {if (h> = l) {int mid = l + (h - l) / 2 // Se o elemento está presente no meio if (a [mid] == x) return mid // If element é menor que mid, então ele só pode estar presente no subarray esquerdo se (a [mid]> x) retornar binarySearch (arr, l, mid - 1, x) // Do contrário, o elemento só pode estar presente no subarray direito return binarySearch (arr, mid + 1, h, x)} // Chegamos aqui quando o elemento não está presente na matriz return -1} public static void main (String args []) {BinarySearch ob = new BinarySearch () int a [] = {20, 30, 40, 10, 50} int n = a.length int x = 40 int res = ob.binarySearch (a, 0, n - 1, x) if (res == -1) System.out .println ('Elemento não presente') else System.out.println ('Elemento encontrado no índice' + res)}}

Ao executar o programa acima, ele localizará o elemento presente no índice particular

Elemento encontrado no índice 2

Isso nos leva ao final da Pesquisa Binária em Java artigo. Espero que você tenha achado informativo e tenha ajudado na compreensão .

Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. Estamos aqui para ajudá-lo em cada etapa de sua jornada, para nos tornarmos mais uma pergunta da entrevista java. Nós criamos um currículo que é projetado para estudantes e profissionais que desejam ser um Desenvolvedor Java. O curso foi elaborado para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.

Caso você enfrente alguma dificuldade ao implementar a Pesquisa Binária em , por favor mencione-o na seção de comentários abaixo e entraremos em contato com você o mais rápido possível.