Busca ou pesquisa binária é um algoritmo de busca em vetore...

Próximas questões
Com base no mesmo assunto
Q253116 Algoritmos e Estrutura de Dados
Busca ou pesquisa binária é um algoritmo de busca em vetores ordenados. Sobre o algoritmo de busca binária é correto afirmar:

I - No pior caso tem complexidade O(log n).

II - No melhor caso tem complexidade O(log n).

III - No caso médio tem complexidade O(1).

IV - No melhor caso tem complexidade O(n).

Está(ão) correta(s)

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é A - Apenas I.

A questão aborda o tema da Busca Binária, um algoritmo eficiente para encontrar um elemento dentro de um vetor ordenado. Vamos analisar cada uma das afirmações e justificar por que apenas a primeira está correta.

Afirmação I - No pior caso, a complexidade é O(log n).

Esta afirmação está correta. Na Busca Binária, a cada iteração, o vetor é dividido pela metade, reduzindo o espaço de busca exponencialmente. Portanto, no pior caso, quando o elemento não está presente ou é encontrado na última divisão, a complexidade é O(log n).

Afirmação II - No melhor caso, a complexidade é O(log n).

Esta afirmação está incorreta. No melhor caso, o elemento procurado está exatamente no meio do vetor na primeira iteração. Nessa situação, apenas uma comparação é necessária, resultando em uma complexidade de O(1). Portanto, a complexidade não é O(log n) no melhor caso.

Afirmação III - No caso médio, a complexidade é O(1).

Esta afirmação está incorreta. A complexidade no caso médio da Busca Binária ainda é O(log n). O(1) indicaria que o tempo é constante, independente do tamanho do vetor, o que não é aplicável à Busca Binária.

Afirmação IV - No melhor caso, a complexidade é O(n).

Esta afirmação está incorreta. O(n) sugere um algoritmo que precisa percorrer todo o vetor linearmente, como a Busca Linear. No melhor caso da Busca Binária, se o elemento está no meio do vetor, a busca termina em uma iteração, resultando em complexidade O(1), não O(n).

Portanto, a análise detalhada das afirmações confirma que a única correta é a Afirmação I, justificando a alternativa A - Apenas I como a resposta correta.

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

pesquisa ou busca binária (em inglês binary search algorithm ou binary chop) é um algoritmo de busca em vetores que segue o paradigma de divisão e conquista. Ela parte do pressuposto de que o vetor está ordenado e realiza sucessivas divisões do espaço de busca comparando o elemento buscado (chave) com o elemento no meio do vetor. Se o elemento do meio do vetor for a chave, a busca termina com sucesso. Caso contrário, se o elemento do meio vier antes do elemento buscado, então a busca continua na metade posterior do vetor. E finalmente, se o elemento do meio vier depois da chave, a busca continua na metade anterior do vetor.

caso médio: {O}(\log n)
melhor caso: {O}(1)
pior caso: {O}(\log n)

http://pt.wikipedia.org/wiki/Pesquisa_bin%C3%A1ria

O pior caso não seria O(n)?

complexidade caso médio : O(log n)

complexidade melhor caso : O(1)

complexidade de pior caso : O(log n)

Força Guerreiro!!!!!!

Clique para visualizar este comentário

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