Dada uma tabela de frequências (símbolo ? frequência) obtida por amostragem, elabore um algoritmo em…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Dada uma tabela de frequências (símbolo ? frequência) obtida por amostragem, elabore um algoritmo em pseudocódigo que construa a árvore de Huffman e gere os códigos binários para cada símbolo. Explique os passos e a complexidade temporal.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Pseudocódigo: 1. Para cada símbolo s com frequência f: criar nó(s,f) e inserir em fila de prioridade mínima (heap) por f. 2. Enquanto heap.size > 1: a = heap.pop(); b = heap.pop(); criar nó p com freq = a.freq+b.freq e filhos a,b; heap.push(p). 3. Raiz = heap.pop(). 4. Fazer travessia DFS da raiz, acumulando '0' à esquerda e '1' à direita para obter código de cada símbolo. Complexidade: construir heap inicial O(n); cada extração/insersão é O(log n) e ocorre O(n) vezes ? O(n log n).
Explicação
O algoritmo apresentado utiliza uma fila de prioridade para construir a árvore de Huffman, garantindo que os símbolos com menor frequência sejam combinados primeiro, o que é essencial para a eficiência da codificação. A complexidade temporal é bem justificada, pois a construção inicial do heap é linear, enquanto as operações de extração e inserção, que ocorrem durante a formação da árvore, são logarítmicas em relação ao número de símbolos. Assim, a análise da complexidade total resulta em O(n log n), refletindo o desempenho esperado do algoritmo.
Raio-X da questão
árvore de Huffman
avaliacao
algoritmos e estruturas de dados · codificação de dados
Revisar o algoritmo de Huffman e sua complexidade temporal.
O aluno pode confundir a construção da árvore de Huffman com outros algoritmos de compressão, não seguindo corretamente os passos específicos para a sua implementação.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Em um dia de trabalho, uma entregadora que usa um aplicativo recebe R$ 12 por entrega. Ela gasta R$ 3 por entrega com…
- Em uma gráfica, a quantidade de tinta adicional é registrada em função de uma medida-padrão q. Para um pedido, a…
- Em uma gráfica, uma máquina imprime livros a uma taxa constante. Se trabalha sozinha, produz 120 páginas por hora…
- — O desconto só incide sobre as oficinas, não sobre a entrada — explicou a atendente a um visitante. Na feira municipal…
- Uma associação de ambulantes realizou uma pesquisa sobre o gasto mensal com internet móvel. Os dados foram organizados…
- Uma secretaria municipal recebeu R$ 390 para inscrever dois agentes em um curso, ambos com o mesmo número de oficinas…
🔎 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
