Class HuffmanNode
java.lang.Object
fr.iutfbleau.sae.mhuffman.HuffmanNode
Représente un nœud de l'arbre de Huffman.
Un nœud peut être :
- une feuille : il contient une valeur (symbole de 0 à 255) et sa fréquence
- un nœud interne : il n'a pas de valeur mais possède deux enfants et une fréquence
correspondant à la somme des fréquences de ces enfants
Cette classe sert uniquement de structure pour construire l'arbre de Huffman,
utilisé ensuite pour générer les codes dans la compression.
-
Constructor Summary
ConstructorsConstructorDescriptionHuffmanNode(int value, int frequence) Constructeur d'un nœud feuille.HuffmanNode(HuffmanNode left, HuffmanNode right) Constructeur d'un nœud interne (créé lors de la fusion de deux sous-arbres). -
Method Summary
Modifier and TypeMethodDescriptionintRenvoie la fréquence associée à ce nœud.getLeft()Renvoie le fils gauche.getRight()Renvoie le fils droit.intgetValue()Renvoie la valeur du symbole représenté.booleanisLeaf()Indique si le nœud est une feuille.toString()Représentation textuelle du nœud.
-
Constructor Details
-
HuffmanNode
public HuffmanNode(int value, int frequence) Constructeur d'un nœud feuille.- Parameters:
value- symbole représenté (entre 0 et 255)frequence- fréquence d'apparition du symbole
-
HuffmanNode
Constructeur d'un nœud interne (créé lors de la fusion de deux sous-arbres).- Parameters:
left- fils gaucheright- fils droit
-
-
Method Details
-
isLeaf
public boolean isLeaf()Indique si le nœud est une feuille.- Returns:
- true si le nœud est une feuille, false sinon
-
getFrequence
public int getFrequence()Renvoie la fréquence associée à ce nœud.- Returns:
- fréquence du symbole ou somme des fréquences
-
getLeft
-
getRight
-
getValue
public int getValue()Renvoie la valeur du symbole représenté.- Returns:
- valeur du symbole (0 à 255)
- Throws:
IllegalStateException- si le nœud n'est pas une feuille
-
toString
-