Como Resolver Fácil
💻 Computação

Algoritmo de Huffman

Compressão sem perdas baseada na frequência dos caracteres.

01 / Ferramenta

Calculadora

Digite um texto para gerar a árvore de Huffman, histograma de frequências e tabela de codificação binária.

Texto

Chars únicos

5

Total de chars

11

Sem compressão

88 bits

Comprimido

23 bits (−73.9%)

Histograma de Frequências

Árvore de Huffman

0100110111'a'freq: 562'c'freq: 1'd'freq: 14'b'freq: 2'r'freq: 2

Tabela de Codificação

CharFrequênciaCódigoBits
'a'501
'b'21103
'r'21113
'c'11003
'd'11013

02 / Conceitos

Como Funciona

A codificação de Huffman atribui códigos binários menores aos caracteres mais frequentes e códigos maiores aos menos frequentes, reduzindo o tamanho total dos dados sem perda de informação.

1.

Contar frequências

Cada caractere único do texto recebe um nó com sua frequência de ocorrência.

2.

Construir a árvore

Repetidamente une-se os dois nós de menor frequência em um nó interno, até restar um único nó raiz.

3.

Atribuir códigos

Percorre-se a árvore: cada ramificação à esquerda adiciona 0 e à direita 1. Folhas recebem o código acumulado.

Código prefixo

Nenhum código é prefixo de outro — propriedade que garante decodificação única sem separador entre símbolos.

Otimalidade

Huffman produz o código prefixo ótimo para a distribuição de frequências dada — nenhum outro esquema prefixo gera arquivo menor com os mesmos dados.

Tamanho comprimido

Bits totais = Σ freq(c) × len(code(c)). Compare com 8 bits fixos por caractere no ASCII padrão.