Package fr.iutfbleau.sae.mhuffman
Class HuffmanNode
- java.lang.Object
-
- fr.iutfbleau.sae.mhuffman.HuffmanNode
-
public class HuffmanNode extends java.lang.ObjectRepré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
Constructors Constructor Description HuffmanNode(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetFrequence()Renvoie la fréquence associée à ce nœud.HuffmanNodegetLeft()Renvoie le fils gauche.HuffmanNodegetRight()Renvoie le fils droit.intgetValue()Renvoie la valeur du symbole représenté.booleanisLeaf()Indique si le nœud est une feuille.java.lang.StringtoString()Représentation textuelle du nœud.
-
-
-
Constructor Detail
-
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
public HuffmanNode(HuffmanNode left, HuffmanNode right)
Constructeur d'un nœud interne (créé lors de la fusion de deux sous-arbres).- Parameters:
left- fils gaucheright- fils droit
-
-
Method Detail
-
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
public HuffmanNode getLeft()
Renvoie le fils gauche.- Returns:
- fils gauche ou null si feuille
-
getRight
public HuffmanNode getRight()
Renvoie le fils droit.- Returns:
- fils droit ou null si feuille
-
getValue
public int getValue()
Renvoie la valeur du symbole représenté.- Returns:
- valeur du symbole (0 à 255)
- Throws:
java.lang.IllegalStateException- si le nœud n'est pas une feuille
-
toString
public java.lang.String toString()
Représentation textuelle du nœud. Utile en phase de débogage.- Overrides:
toStringin classjava.lang.Object
-
-