[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Será que estou certo?
Krico.. vc tem certeza que o seu codigo sempre adquire esta forma??? o meu
por exemplo quase nunca tem só 1s no meio.....
Alexandre Freire <alex@linux.ime.usp.br>
On Sat, 12 Dec 1998, Christian Asmussen wrote:
> Não sei se entendi algo que já era claro para todos, se estou enganado,
> ou se descobri algo novo. Por isto gostaria de opiniões a respeito.
> Fiz a tal árvore de huff (sem a utilização do huff.c) e as letras em
> ordem decrescente de frequencias. Veja abaixo um exemplo (por
> conveniencia fiz a ordem decrescente de frequencias ser a ordem
> alfabética):
> Letra: M Codigo: 0111110
> Letra: L Codigo: 0111111
> Letra: K Codigo: 111110
> Letra: J Codigo: 111111
> Letra: I Codigo: 011110
> Letra: H Codigo: 11110
> Letra: G Codigo: 01110
> Letra: F Codigo: 1110
> Letra: E Codigo: 0110
> Letra: D Codigo: 110
> Letra: C Codigo: 010
> Letra: B Codigo: 10
> Letra: A Codigo: 00
> Então notei que os únicos caractéres significativos são o primeiro e o
> último. Então fiz o seguinte. Representei os 1´s entre o primeiro e o
> último caractér como integers. Da seguinte forma. Se existem 0 1´s
> entre o primeiro e o úlitmo algarismo do codigo, não imprimo nada, se
> existir 1 algarismo imprimo um 0 entre o primeiro e o segunto e assim
> por diante. Veja uma impressão do resultado:
> Letra: M Codigo: 040
> Letra: L Codigo: 041
> Letra: K Codigo: 130
> Letra: J Codigo: 131
> Letra: I Codigo: 030
> Letra: H Codigo: 120
> Letra: G Codigo: 020
> Letra: F Codigo: 110
> Letra: E Codigo: 010
> Letra: D Codigo: 100
> Letra: C Codigo: 000
> Letra: B Codigo: 10
> Letra: A Codigo: 00
>
> Os algarismos centrais agora representam as "alturas" referentes a cada
> letra na árvore. Agora se escrever estes algarismos em binario, estarei
> economisando bastante bits. Veja abaixo:
> Letra: M Codigo: 01000
> Letra: L Codigo: 01001
> Letra: K Codigo: 1110
> Letra: J Codigo: 1111
> Letra: I Codigo: 0110
> Letra: H Codigo: 1100
> Letra: G Codigo: 0100
> Letra: F Codigo: 1100
> Letra: E Codigo: 010
> Letra: D Codigo: 100
> Letra: C Codigo: 000
> Letra: B Codigo: 10
> Letra: A Codigo: 00
>
> Pronto, agora tenho um código bastante "econômico" para cada letra.
> E ai? Algum lapso no meu raciocínio???? Se alguém tiver algum
> comentário, por favor!!!
>
> Valeu!
>
> P.S.: TIMÃO VAI BOTAR PARA QUEBRAR HOJE!
>
> --
> krico
> krico@kriconet.com.br
>
>