Class HuffmanTree


  • public class HuffmanTree
    extends java.lang.Object
    Cette classe construit un arbre de Huffman à partir d'un tableau de fréquences. Une fois l'arbre construit, elle permet aussi de générer les codes Huffman associés à chaque symbole. Le principe est le suivant : - chaque symbole non nul devient une feuille avec sa fréquence - on fusionne toujours les deux plus petites fréquences - on obtient une racine unique - un parcours de l'arbre permet ensuite de fabriquer les codes Les codes sont construits en descendant l'arbre : aller à gauche ajoute "0", aller à droite ajoute "1".
    • Constructor Summary

      Constructors 
      Constructor Description
      HuffmanTree​(int[] freq)
      Construit l'arbre de Huffman à partir d'un tableau de fréquences.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Map<java.lang.Integer,​java.lang.String> generateCodes()
      Lance la génération des codes Huffman en parcourant l'arbre.
      java.util.Map<java.lang.Integer,​java.lang.String> getCodes()
      Retourne les codes Huffman générés.
      HuffmanNode getRoot()
      Permet de récupérer la racine de l'arbre.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • HuffmanTree

        public HuffmanTree​(int[] freq)
        Construit l'arbre de Huffman à partir d'un tableau de fréquences.
        Parameters:
        freq - tableau contenant la fréquence de chaque symbole (0 à 255)
    • Method Detail

      • generateCodes

        public java.util.Map<java.lang.Integer,​java.lang.String> generateCodes()
        Lance la génération des codes Huffman en parcourant l'arbre.
        Returns:
        une map associant chaque symbole à son code Huffman
      • getRoot

        public HuffmanNode getRoot()
        Permet de récupérer la racine de l'arbre.
        Returns:
        la racine de l'arbre de Huffman
      • getCodes

        public java.util.Map<java.lang.Integer,​java.lang.String> getCodes()
        Retourne les codes Huffman générés.
        Returns:
        une map symbole code