Package fr.iutfbleau.sae.mhuffman
Class HuffmanTree
- java.lang.Object
-
- fr.iutfbleau.sae.mhuffman.HuffmanTree
-
public class HuffmanTree extends java.lang.ObjectCette 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.HuffmanNodegetRoot()Permet de récupérer la racine de l'arbre.
-
-
-
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
-
-