Contar frequências
Cada caractere único do texto recebe um nó com sua frequência de ocorrência.
Compressão sem perdas baseada na frequência dos caracteres.
01 / Ferramenta
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
Tabela de Codificação
| Char | Frequência | Código | Bits |
|---|---|---|---|
| 'a' | 5 | 0 | 1 |
| 'b' | 2 | 110 | 3 |
| 'r' | 2 | 111 | 3 |
| 'c' | 1 | 100 | 3 |
| 'd' | 1 | 101 | 3 |
02 / Conceitos
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.
Cada caractere único do texto recebe um nó com sua frequência de ocorrência.
Repetidamente une-se os dois nós de menor frequência em um nó interno, até restar um único nó raiz.
Percorre-se a árvore: cada ramificação à esquerda adiciona 0 e à direita 1. Folhas recebem o código acumulado.
Nenhum código é prefixo de outro — propriedade que garante decodificação única sem separador entre símbolos.
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.
Bits totais = Σ freq(c) × len(code(c)). Compare com 8 bits fixos por caractere no ASCII padrão.