Em um algoritmo que deve verificar rapidamente se um código de estudante já existe em uma grande coleção de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Classificar informações, agrupando-as em coleções (conjuntos) e associando cada coleção a um ‘tipo de dado’.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo que deve verificar rapidamente se um código de estudante já existe em uma grande coleção de dados, qual estrutura de dado é mais apropriada para busca e garantia de unicidade?
- A) Tabela de símbolos, que armazena dados de maneira hierárquica e indexada.
- B) Árvore binária de pesquisa, que garante ordem e eficiência na busca.
- C) Array dinâmico, que permite flexibilidade no tamanho da coleção de dados.
- D) Conjunto (set), idealmente implementado como hash set.
- E) Lista encadeada, que permite buscas rápidas em coleções grandes.
✅ Resposta correta: alternativa D
Resolução passo a passo
- A questão pede uma estrutura que verifique rapidamente se um código já existe em uma coleção grande e que garanta unicidade. Esses dois requisitos são exatamente o que um conjunto (set) oferece. Passo 2: Idealmente implementado como hash set, o conjunto calcula uma posição a partir do código e confere se ela já está ocupada, o que dá busca e inserção em tempo médio constante, independentemente do tamanho da coleção. Além disso, o conjunto não admite elementos repetidos, então a unicidade é garantida pela própria estrutura. Passo 3: A alternativa A descreve uma estrutura hierárquica, o que não corresponde à tabela de símbolos, que é um mapeamento chave-valor; mesmo que implementada com hash, a descrição dada está errada. Passo 4: A alternativa B funciona, mas a árvore binária de pesquisa tem busca em tempo logarítmico, que é mais lenta que a de um hash set em coleções grandes. Passo 5: A alternativa C está errada porque um array dinâmico, sem ordenação, exige percorrer os elementos um a um para buscar um código, o que é linear. Passo 6: A alternativa E está errada porque a lista encadeada também exige busca linear; ela não permite buscas rápidas. Conclusão: a resposta correta é a D, em concordância com o gabarito oficial.
💡 Dica: Considere as características das estruturas de dados.
Alternativa por alternativa
O aluno associa tabela de símbolos à ideia de busca indexada e rápida, sem perceber que a estrutura descrita é hierárquica e não corresponde a um conjunto de códigos únicos.
O aluno acredita que, por ser ordenada, a árvore binária de pesquisa é sempre a melhor escolha para busca, sem comparar sua complexidade logarítmica com a busca média constante de um hash set.
Por que engana: Escolher uma estrutura que não garante unicidade, como a árvore binária de pesquisa, que pode conter elementos duplicados.
O aluno confunde flexibilidade de tamanho com eficiência de busca e supõe que um array dinâmico permite localizar códigos rapidamente, ignorando que sem ordenação a busca é linear.
Conjuntos baseados em hash oferecem busca, inserção e verificação de existência em tempo médio O(1), garantindo unicidade sem varredura linear da coleção.
O aluno supõe que a lista encadeada permite buscas rápidas em coleções grandes, quando na verdade cada consulta exige percorrer os nós sequencialmente.
Raio-X da questão
estruturas de dados
avaliacao
estruturas de dados · busca em coleções de dados
Revisar as estruturas de dados e suas aplicações.
Escolher uma estrutura que não garante unicidade, como a árvore binária de pesquisa, que pode conter elementos duplicados.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Em um algoritmo que processa uma lista de alunos como dados e precisa evitar registros duplicados, qual estrutura de…
- Num algoritmo que precisa localizar rapidamente o registro de um aluno a partir da matrícula, qual estrutura de dados é…
- Em uma base grande de registros de alunos, qual estrutura (termo técnico) permite buscar um registro por matrícula em…
- Em um algoritmo que registra múltiplos telefones por aluno, qual estrutura de dado (variável) é mais adequada para…
- Uma escola brasileira está desenvolvendo um aplicativo para organizar tarefas de casa. Cada tarefa recebe um código…
- Você precisa armazenar uma coleção onde testar a existência de um elemento seja muito rápido e a ordem dos elementos não…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
