Descreva em etapas um algoritmo que recebe um conjunto de símbolos com suas frequências e gera uma codificação…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Codificar a informação de diferentes formas, entendendo a importância desta codificação para o armazenamento, manipulação e transmissão em dispositivos computacionais.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Descreva em etapas um algoritmo que recebe um conjunto de símbolos com suas frequências e gera uma codificação por prefixo eficiente; explique como construir os códigos, garantir a propriedade de prefixo e como decodificar a sequência codificada.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Receber lista de símbolos com frequências relativas. 2) Criar uma fila de prioridade (min-heap) ordenada por frequência. 3) Enquanto houver >1 nó: remover os dois nós de menor frequência, criar nó pai com soma das frequências e reencaminhar para a fila. 4) Ao terminar, obter árvore binária de códigos. 5) Percorrer a árvore do nó raiz: atribuir '0' à aresta esquerda e '1' à direita; códigos obtidos são prefixos distintos (nenhum código é prefixo de outro). 6) Para codificar, substituir cada símbolo pelo seu código. 7) Para decodificar, ler bits sequencialmente e percorrer a árvore até chegar a folha; entregar o símbolo e reiniciar no nó raiz. Racional: combinar símbolos de menor frequência minimiza o comprimento médio ponderado dos códigos, aproximando o mínimo teórico (entropia) e reduzindo espaço armazenado; a propriedade de prefixo assegura decodificação unívoca sem delimitadores.
Explicação
A explicação apresentada detalha o processo de construção de uma árvore de Huffman, que é fundamental para gerar códigos de prefixo eficientes, garantindo que nenhum código seja prefixo de outro. A abordagem de combinar símbolos de menor frequência assegura que os códigos mais curtos sejam atribuídos aos símbolos mais frequentes, otimizando a compressão. Além disso, o método de decodificação descrito permite recuperar os símbolos originais de forma clara e sem ambiguidades, utilizando a estrutura da árvore.
Raio-X da questão
codificação por prefixo
avaliacao
algoritmos e estruturas de dados · codificação e compressão de dados
Revisar os princípios de codificação e decodificação de algoritmos.
O aluno pode descrever um algoritmo que não garante a propriedade de prefixo, resultando em códigos que não podem ser decodificados corretamente.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Projete um algoritmo em pseudocódigo que recebe um conjunto de símbolos com suas frequências (variável 'freq') e gera…
- Projete um algoritmo em pseudocódigo que receba na variável 'mensagem' (sequência de caracteres UTF-8) e produza uma…
- Projete um algoritmo em pseudocódigo que receba uma lista de strings binárias (dados) e construa uma trie (árvore de…
- Descreva, em pseudocódigo, um algoritmo que recebe uma sequência de até 12 caracteres na variável 'msg' e produz na…
- Projete um algoritmo em pseudocódigo que receba na variável 'mensagem' (sequência de caracteres UTF-8) e produza duas…
- Projete uma tabela de codificação e descreva, em pseudocódigo, um algoritmo que represente mensagens curtas (máx. 4…
🔎 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
