O desafio é o seguinte: conseguir criar o pedaço de código para comprimir dados o mais eficientemente possÃÂvel.
Para simplificar a tarefa vou dar umas explicações:
1 caracter = 8 bits
Se conseguirem utilizar menos bits nos caracteres mais usados num determinado conjunto de dados, conseguem melhor compressão.
Para facilitar a tarefa, poder pensar nos dados como um texto ASCII, e tentar obter a melhor representação dos dados comprimidos (aka, os 1s e 0s obtidos após a compressão. Ou seja, o objectivo do programa é fazer uma pseudo-conpressão em que as letras de um texto são convertidas em conjuntos de uns e zeros de maneira a no fim obterem a cadeia mais pequena possÃÂvel (e k depois pode ser descomprimida facilmente).
Ah, e no fim façam também o respectivo programa de pseudo-descompressão.
Quem conseguir a cadeia mais pequena ganha...
Exemplo:
AABBAACD -> 00101000110111
Acho que ninguem percebe disso!
lol
Eu dei aulas disso, mas não tava atento!
bem tive a pensar num mais ou menos assim:
ABC
A -> 01000001
B -> 01000010
C -> 01000011
(em strings)
depois metia-se assim:
knd ouvesse mais do k 2 zeros seguidos metia-se no meio em decimal knts 0\\'s e k eram
01000001 -> 0151
01000010 -> 01410
01000011 -> 01411
depois fazim-se conta pa separar os bits e assim os dados ficavam mais pekenos. ja tive a ver e a compressao deve demorar pois tanta conta deve puxar plo CPU... nem m meto nisso. e entao td trabalhado em strings... UI!
Pá eu até gostava de saber, mas não percebo nada disso, lol
Nem por isso, a kestão era mm mostrar como ficaria o código em binário mas utilizando os códigos de Huffman. Os caracteres mais utilizados numa sequência utilizariam uma sequência binária mais pequena.