O que é um código de prefixo?
Um código de prefixo é a estrutura de código binário que representa certas letras ou caracteres. Essas seqüências de código são usadas pelos computadores para se comunicar. Eles consistem em zeros e outros que se traduzem em certos comandos ou palavras. Por exemplo, a letra "A" pode conter um código de prefixo 0, enquanto o número 1010 representa a letra "D".
As árvores binárias são usadas para representar como as seqüências de números no código de prefixo se traduzem em determinadas letras, caracteres ou mensagens. Muitos aplicativos de software usam um código de prefixo baseado em árvores binárias para compactar seus dados. Diversas combinações diferentes de código binário são mescladas em uma "árvore" que pode conter uma ou mais mensagens. Geralmente, uma raiz é representada por um 0 ou 1 que é igualado a um dos caracteres.
A partir da raiz, pode ser seguida uma extensão de números que se traduz em outra letra. Pode haver vários ramos diferentes decorrentes da linha principal da árvore binária que se traduzem em caracteres separados. Letras ou caracteres representados por um dígito binário são chamados de bits únicos, enquanto aqueles representados por mais de um dígito binário são chamados de dois, três ou quatro bits.
O número de bits está diretamente relacionado ao número de dígitos binários que representam um caractere específico em um código de prefixo. Os bits únicos são normalmente usados para caracteres que ocorrem várias vezes em uma mensagem, enquanto cadeias de caracteres de dois ou mais bits são usadas para as letras e caracteres que ocorrem com pouca frequência. Por exemplo, se um código de prefixo estiver codificando a palavra "implacável", um único bit provavelmente representará a letra "E".
Palavras e mensagens geralmente são feitas colocando o código binário que lê da esquerda para a direita da árvore do código do prefixo. Por exemplo, uma árvore binária pode conter a letra "R", representada pelo dígito binário 0, a letra "E", representada pela cadeia binária 011 e a letra "D", representada pela cadeia binária 0110. Nesse caso, a palavra "vermelho" seria agrupada como 00110110.
Usando códigos de prefixo, computadores e aplicativos podem economizar espaço. Como vários comandos e mensagens usam as mesmas letras e caracteres, cada um pode ser representado por determinadas traduções de código binário. Separadamente, essas palavras podem precisar de espaço de armazenamento adicional devido à quantidade de bits que cada uma delas contém. As árvores binárias reduzem a quantidade de bits necessários, às vezes aumentando o espaço de armazenamento em até 50%.