Question

Je besoin d'un code de Huffman (meilleur en python ou en java), ce qui pourrait encoder du texte non par un caractère (a = 10, b = 11), mais par deux (ab = 11, ag = 10). Est-il possible et si oui, où pourrais-je trouver, peut-être de quelque part dans l'Internet et je viens can'd trouver?

Était-ce utile?

La solution

Il y a un exemple de codeur de Huffman distribué avec le Python BitArray module, si c'est toute utilisation pour vous.

Autres conseils

code de Huffman ne se soucie pas des personnages, il se soucie de symboles. En règle générale, il est utilisé pour coder l'alphabet / autres caractères simples, mais peut très facilement être généralisé à des chaînes de caractères d'encodage. En gros, vous simplement prendre une implémentation existante et permettre à des symboles à des chaînes plutôt que des caractères. Un nœud de feuille correspondrait alors à une liste de chaînes.

Il y a probablement quelque part de code. Mais cela sonne comme une question et l'analyse syntaxique tokenising. L'une des premières questions que je répondrai comment traitez-vous avec beaucoup de paires uniques. le codage de Huffman fonctionne mieux avec un petit nombre de jetons. Par exemple, les 101 caractères sur votre clavier. Mais si vos deux personnages peuvent être quelque chose, vous élargissons maintenant le nombre maximum de caractères massivement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top