Class HuffmanTree

java.lang.Object
fr.iutfbleau.sae.mhuffman.HuffmanTree

public class HuffmanTree extends 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 Details

    • 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 Details

    • generateCodes

      public Map<Integer,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 Map<Integer,String> getCodes()
      Retourne les codes Huffman générés.
      Returns:
      une map symbole code