Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FGV 2025
Algoritmos e Estrutura de Dados›Estrutura 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.
ABusca Linear.
BBusca Binária.
CBusca Hash.
DBusca Sequencial.
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).
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.