GeraProva GeraProva Provas com IA para professores do Brasil
Computação8º anoBNCC EF08CO02Difícil⏱ longo

Projete um algoritmo em pseudocódigo que receba uma lista de strings binárias (dados) e construa uma trie…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF08CO02

Criar soluções de problemas para os quais seja adequado o uso de listas para descrever suas informações e automatizá-las usando uma linguagem de programação, empregando ou não a recursão como uma técnica de resolver o problema.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo que receba uma lista de strings binárias (dados) e construa uma trie (árvore de prefixos) que permita consultar quantas strings compartilham um determinado prefixo. Explique a estrutura, as variáveis e os procedimentos de inserção e consulta.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Estrutura: nó tem filhos[0,1] e contador. Variáveis: raiz (node). Inserção(s): node <- raiz; para cada bit b em s: se node.filhos[b] = null então criar nó; node <- node.filhos[b]; node.contador <- node.contador + 1. Pseudocódigo: criarTrie(): raiz.contador=0 inserir(raiz, s): node=raiz; for b in s: if node.filhos[b]==null then node.filhos[b]=novoNo(); node=node.filhos[b]; node.contador+=1 consultaPrefixo(raiz,p): node=raiz; for b in p: if node.filhos[b]==null return 0; node=node.filhos[b]; return node.contador Complexidade: inserção O(L) por string (L = comprimento); consulta O(P) (P = comprimento do prefixo). A trie armazena contadores por nó para responder rapidamente quantos dados compartilham um prefixo.

Explicação

A explicação apresenta uma estrutura clara para a trie, onde cada nó possui filhos que representam os bits 0 e 1, além de um contador que rastreia quantas strings compartilham o prefixo até aquele ponto. O algoritmo de inserção é eficiente, pois cria nós conforme necessário e atualiza o contador, enquanto a consulta é direta, permitindo verificar rapidamente quantas strings compartilham um prefixo específico. A análise de complexidade destaca a eficiência do algoritmo em termos de tempo, tornando-o adequado para o problema proposto.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

algoritmo trie

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estrutura de dados · pseudocódigo

📚 Reveja

Revisar conceitos de estruturas de dados e algoritmos de busca.

⚠️ Erro mais comum

O aluno pode confundir a estrutura da trie com outras estruturas de dados, como listas ou árvores binárias, não implementando corretamente os procedimentos de inserção e consulta.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Programação com listas e recursã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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.