Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FGV 2025

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
fg116602
Banca
FGV
Órgão
PC-MG
Ano
2025
Nível
Superior
Cargo
Perito Criminal - Área II
Estruturas de dados são fundamentais para armazenar e organizar informações de forma eficiente em um sistema computacional. A escolha dos métodos de acesso, busca, inserção e ordenação pode impactar significativamente o desempenho do programa.Com base nisso, assinale a opção que indica o método de busca que é mais eficiente quando aplicado em uma lista ordenada contendo milhares de elementos.
  1. ABusca Linear.
  2. BBusca Binária.
  3. CBusca Hash.
  4. DBusca Sequencial.
  5. EBusca por Interpolação.
Revelar gabarito e comentário

GabaritoB — Busca Binária.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Métodos de busca em listas ordenadas

Gabarito: letra B. A busca binária é o método mais eficiente para listas ordenadas com milhares de elementos, pois sua complexidade é O(log n), enquanto a busca linear/sequencial é O(n). A busca hash não é aplicável diretamente a listas ordenadas (exige tabela hash), e a busca por interpolação, embora tenha média O(log log n), depende de distribuição uniforme e pode degenerar para O(n).

1Busca linear/sequencial
O(n) — percorre todos
Ineficiente para milhares
2Busca binária
O(log n) — divide pela metade
Eficiente e garantida
3Busca por interpolação
Média O(log log n)
Pior caso O(n)
Depende de distribuição uniforme
4Busca hash
Exige tabela hash
Não aplicável diretamente
Busca em lista ordenada
LEVELsoulevel.com.br
Busca em lista ordenada: Busca linear/sequencial (O(n) — percorre todos, Ineficiente para milhares); Busca binária (O(log n) — divide pela metade, Eficiente e garantida); Busca por interpolação (Média O(log log n), Pior caso O(n), Depende de distribuição uniforme); Busca hash (Exige tabela hash, Não aplicável diretamente)

Alternativa A — ❌ Incorreta

A busca linear (ou sequencial) percorre todos os elementos um a um, resultando em complexidade O(n). Para milhares de elementos, é muito menos eficiente que a busca binária.

Alternativa B — ✅ Correta ⟵ GABARITO

A busca binária divide a lista ordenada repetidamente pela metade, reduzindo o espaço de busca a cada iteração. Sua complexidade é O(log n), o que a torna extremamente eficiente para listas grandes.

Alternativa C — ❌ Incorreta

A busca hash utiliza uma função de espalhamento para acessar diretamente o elemento; porém, para uma lista ordenada, a estrutura adequada é uma tabela hash, e não uma lista. Aplicada diretamente sobre a lista, não oferece ganho e exige pré-processamento específico.

Alternativa D — ❌ Incorreta

A busca sequencial é sinônimo de busca linear (O(n)). Embora funcione em listas ordenadas, não é eficiente para grandes volumes de dados.

Alternativa E — ❌ Incorreta

A busca por interpolação estima a posição do elemento com base nos valores, sendo O(log log n) em média. Contudo, seu pior caso é O(n), e depende de distribuição uniforme dos dados. Para listas com milhares de elementos, a busca binária é mais segura e com complexidade garantida.

PEGA ESSA DICA!

Em listas ordenadas, priorize algoritmos com complexidade logarítmica, como a busca binária. A busca por interpolação só é vantajosa em cenários específicos com distribuição uniforme.

Gabarito: letra B.

Link permanente: /questoes/fg116602