Questão de Algoritmos e Estrutura de Dados — Algoritmos de Busca — FCC 2016
- Código
- fc033339
- Banca
- FCC
- Órgão
- TRT - 14ª Região (RO e AC)
- Ano
- 2016
- Nível
- Superior
- Cargo
- Analista Judiciário - Tecnologia da Informação
- An/2.
- Bn−1.
- C√n.
- Dlog₂(n).
- En−=2.
GabaritoD — log₂(n).
Gabarito: letra D. Na pesquisa binária, a cada iteração o vetor é dividido ao meio, descartando-se metade dos elementos. No pior caso (elemento não encontrado ou encontrado na última iteração), o número de comparações da forma x == a[i] é igual ao número de iterações, que é aproximadamente log₂(n). Isso porque o algoritmo reduz o intervalo de busca pela metade até restar um único elemento.
A pesquisa binária é um clássico algoritmo de decremento e conquista. Dado um vetor ordenado de n elementos, o algoritmo compara o elemento buscado x com o elemento do meio a[meio]. Se for igual, a busca termina; se x for menor, busca-se na metade esquerda; se maior, na metade direita. O pior caso ocorre quando o elemento não está no vetor ou está na posição extrema, exigindo log₂(n) comparações (arredondado para cima).
n/2 é o número médio de comparações na busca sequencial (linear) se o elemento estiver presente, não na pesquisa binária. Confunde o candidato com a média da busca linear.
n−1 corresponde ao pior caso da busca sequencial (elemento no final ou ausente). A pesquisa binária é muito mais eficiente, com complexidade logarítmica.
√n não se relaciona com o número de comparações da pesquisa binária. Talvez remeta a algum algoritmo de busca em grade, mas não é o caso.
log₂(n). Exato. A pesquisa binária, no pior caso, realiza ⌊log₂(n)⌋ + 1 comparações (ou ⌈log₂(n+1)⌉), que é aproximadamente log₂(n). Cada iteração faz uma comparação x == a[i], portanto o número de comparações é o próprio número de iterações.
n−=2 é um erro de digitação ou expressão inválida. Não representa nenhuma métrica conhecida. Possivelmente tentou representar n/2 ou n-2, mas ambas estão incorretas.
A banca explora a confusão entre busca binária e busca sequencial. O candidato desatento pode marcar n/2 (alternativa A) ou n-1 (alternativa B), que são típicos da busca linear. Lembre-se: busca binária em vetor ordenado → O(log n); busca sequencial → O(n) no pior caso.
Gabarito: letra D.
Link permanente: /questoes/fc033339