Arvore de Huffman
Este relatório irá abordar um tipo particular de arvore binária denominada
Arvore de Huffman, usada em codificação de informações. Através de exemplos será mostrada também a construção da arvore de Huffman.
---------------------------------------------------------------------------------------------------------2.CONCEITOS:
2. 1.Árvores Binárias:
A figura abaixo mostra um importante tipo de árvore chamada a árvore binária. Em uma árvore binária cada nó tem no máximo dois filhos (subárvores), e quando há somente um filho, torna-se necessário distinguir entre filho (subárvore) esquerdo e direito. Um exemplo de arvore binária se encontra logo abaixo.
Arvore Binária
2.2.Código de Huffman:
Para enviar uma mensagem através de um cabo de transmissão, os caracteres da mensagem são enviados um a um, modificados através de alguma tabela de codificação.
Em geral, este código forma um numero binário. Como a velocidade de transmissão é importante, e interessante tornar a mensagem tão curta quanto possível sem perder a capacidade de decodificar o texto enviado. Um algoritmo de determinação de códigos binários de comprimentos variados para caracteres (não e o caso que cada caractere seja representado com o mesmo numero de bits), baseado na frequência de uso destes caracteres foi desenvolvido em 1952 por David A. Huffman que era, na época, estudante de doutorado no MIT. A ideia e associar números binários com menos bits aos caracteres mais usados num texto. Desta maneira espera se que o numero de bits economizados para codificar os caracteres que ocorrem com maior frequência em um texto seja mais que o suficiente para cobrir o déficit que ocorrerão ao codificamos os caracteres que ocorrem raramente com cadeias longas de bits.
Um dos requerimentos deste código é que nenhum código seja prefixo de outro, caso a decodificação da mensagem seja feita da esquerda para direita.
O algoritmo de Huffman que será implementado para codificar um