Para a busca de um determinado valor em um vetor de element...

Próximas questões
Com base no mesmo assunto
Q2301360 Algoritmos e Estrutura de Dados
Para a busca de um determinado valor em um vetor de elementos numéricos, como funciona o algoritmo de busca binária?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: D

A busca binária é um algoritmo eficiente para encontrar um valor em um vetor ordenado de elementos numéricos. Ele funciona da seguinte maneira:

1. O algoritmo compara o valor buscado com o elemento central do vetor.

2. Se o valor buscado for igual ao elemento central, a busca termina com sucesso.

3. Caso contrário, se o valor buscado for menor que o elemento central, a busca continua na metade esquerda do vetor.

4. Se o valor buscado for maior, a busca prossegue na metade direita do vetor.

5. Este processo é repetido recursivamente (ou iterativamente) até que o valor seja encontrado ou até que a sublista se torne vazia.

Vamos analisar agora cada alternativa:

A - Incorreta: Esta alternativa descreve o algoritmo como se ele convertesse os elementos para representação binária e realizasse comparações bit a bit. Isso não é verdadeiro. A busca binária não lida com a forma binária dos números, mas sim com a comparação direta de valores numéricos.

B - Incorreta: A alternativa sugere que a busca binária opera em vetores tanto ordenados quanto não ordenados. No entanto, a busca binária só funciona corretamente em vetores ordenados, pois sua eficiência depende da divisão do vetor com base na ordem dos elementos.

C - Incorreta: Esta alternativa descreve um processo de varredura sequencial, comparando cada elemento com o valor buscado e anotando as posições em um mapa de bits. Isso descreve uma busca linear, não uma busca binária. Busca binária não envolve varredura sequencial de todos os elementos.

D - Correta: Esta alternativa descreve o funcionamento correto da busca binária. O algoritmo compara o valor buscado com o valor do elemento central do vetor e prossegue recursivamente na metade esquerda ou direita, dependendo da comparação. Ele opera apenas em vetores ordenados.

Ao estudar a busca binária, é essencial lembrar que ela é mais eficiente que a busca linear em vetores grandes, devido ao seu tempo de execução de O(log n), enquanto a busca linear tem um tempo de O(n). Porém, a pré-condição crucial é que o vetor deve estar ordenado.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

O algoritmo de busca binária é um método eficiente para encontrar um determinado valor em um vetor de elementos numéricos ordenados. Aqui está como funciona:

  1. Inicialização: Comece determinando os índices mínimo e máximo do vetor. O índice mínimo é geralmente 0, e o índice máximo é o comprimento do vetor menos um.
  2. Divisão: Calcule o índice médio entre o índice mínimo e máximo. Isso divide o vetor ao meio.
  3. Comparação: Compare o valor no índice médio com o valor que você está procurando.
  4. Decisão: Se o valor no índice médio for igual ao valor que você está procurando, a busca termina e você encontrou o valor desejado. Se não for igual, determine se o valor que você está procurando está na metade esquerda ou direita do vetor.
  5. Atualização dos limites: Atualize os limites do vetor para refletir a metade onde o valor que você está procurando está localizado. Se o valor que você está procurando for menor que o valor no índice médio, o limite superior do vetor será ajustado para o índice médio menos um. Se for maior, o limite inferior do vetor será ajustado para o índice médio mais um.
  6. Repetição: Repita os passos 2 a 5 até que o valor seja encontrado ou até que os limites do vetor se cruzem. Se os limites se cruzarem e o valor não for encontrado, significa que o valor não está presente no vetor.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo