Algoritmo :: Huffman.

Algoritmo :: Huffman é uma extensão Perl que implementa o algoritmo Huffman.
Baixe Agora

Algoritmo :: Huffman. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Janek Schleicher
  • Site do editor:
  • http://search.cpan.org/~bigj/

Algoritmo :: Huffman. Tag


Algoritmo :: Huffman. Descrição

Algoritmo :: Huffman é uma extensão Perl que implementa o algoritmo Huffman. Algoritmo :: Huffman é uma extensão Perl que implementa o algoritmo Huffman Algorithm.Synopsis :: Huffman; My% Char_Counting = Mapa {$ _ => intand (100)} ('A' .. 'Z', 'A' .. 'Z'); # ou melhor a contagem real para seus personagens # como o algoritmo Huffman não funciona bem com dados aleatórios :-)) Meu $ Huff = Algoritmo :: Huffman-> Novo (% Char_Counting); Meu $ Encode_hash = $ huff-> codificar_hash; meu $ decdode_hash = $ huff-> decdode_hash; Meu $ Encode_OF_HELLO = $ Huff-> Encode_Bitstring ("Olá"); Imprimir "Olhe para o bitstring de codificação de 'Olá': $ Encode_of_hellon"; Imprimir "A decodificação de $ encode_of_hello é '", $ huff-> decdode_bitstring ($ codificador_of_hello), "'"; este módulo implementa o algoritmo Huffman. O objetivo é criar um bom esquema de codificação para uma determinada lista de diferentes caracteres (ou uniforme strings) e seus números de ocorrência.Algorithmplease Dê uma olhada para um bom livro de compressão de dados para uma visão detalhada. No entanto, o algoritmo é como todo bom algoritmo muito fácil. Nós temos um heap (chaves são os personagens / cordas; os valores são suas ocorrências). Em cada etapa do algoritmo, os dois personagens mais raros são analisados. Ambos recebem um sufixo (um "0", o outro "1"). Eles são unidos e ocorrerão a partir desse momento como um "elemento" na pilha com suas ocorrências somadas. A junção cria uma árvore crescendo enquanto a pilha está reduzindo. Deixe o exemplo. Dados são os personagens e ocorrências. A (15) B (7) C (6) D (6) E (5) Na primeira etapa E e D são os personagens mais raros, por isso criamos esta nova estrutura de heap e árvore: A (15) de (11) b (7) C (6) DE / "0" / "1" D ENEXT PASSO: A (15) BC (13) de (11) de BC / "0" / "1" "0" / "1" "Deb cnext step: A (15) BCDE (24) BCDE /" 0 "/" 1 "/ de BC / /" 0 "/" 1 "" 0 "/" 1 "0" / "1" Deb Cnext Step Unifica o resto: Huffman- Tabela / "0" / "1" / / bcde A / "0" / "1" / de BC / / de BC / / "0" / "1" "0" / "1" 0 "/" 1 "Deb Cfinally Esta mesa de codificação seria criada: um 1 B 010 C 011 D 000 E 001 Por favor, que não há regra definindo que elemento na árvore é encomendado para a esquerda ou para a direita. Portanto, também é possível obter e. O esquema de codificação: A 0 B 100 C 101 D 110 E 111 Requisitos: · Perl.


Algoritmo :: Huffman. Software Relacionado