olá galera… tenho uma tabela de frequência de ocorrência de caracter de uma string e tou em dúvida de qual seria melhor maneira de atribuir um valor binário para cada caracter, tentarei exemplificar…
a=10,b=5,c=3,d=2;
então, no intuíto de comprimir o tamanho da string e nao escrever “a” 10 vezes, como faria para substituir a ocorrencia de “a” por uma sequencia de bits… ex: a=01, em binário?, vale tb para os outros caracters.
vlw 
Compressão de String
5 Respostas
T
Basicamente você quer implementar a compressão pelo algoritmo de Huffman, não?
Usando as APIs de compactacao que ja vem no proprio Java?
isso mesmo o algoritmo é o de huffman, é um trabalho acadêmico e é exigido trabalhar o algoritmo em todas a partes… estrutura de dados II
T
É óbvio que você vai ter de:
- Construir a árvore binária para pôr os caracteres e suas respectivas freqüências, para poder determinar as codificações em bits de cada um dos caracteres;
- Pegar os caracteres e converter em seqüências de bits;
- Pegar as seqüências de bits e converter em bytes.
A primeira parte é a que você tem de fazer direito, para o seu trabalho acadêmico. Não é difícil - use uma árvore binária tradicional - mas você precisa pensar um pouco.
A segunda parte é boba.
A terceira parte é só trabalhosa - aí você vai ter de aprender a se virar com aqueles operadores de "shift" (<<<) , "or" (|) e "and" (&) do Java.
Se isso é lição de casa, é só procurar na Internet que alguém já deve ter feito isso.
vlw, velho… :roll:
Criado 6 de fevereiro de 2007
Ultima resposta 7 de fev. de 2007
Respostas 5
Participantes 3
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo