Class HuffmanNode

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

public class HuffmanNode extends Object
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 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

      public HuffmanNode(HuffmanNode left, HuffmanNode right)
      Constructeur d'un nœud interne (créé lors de la fusion de deux sous-arbres).
      Parameters:
      left - fils gauche
      right - 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

      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:
      IllegalStateException - si le nœud n'est pas une feuille
    • toString

      public String toString()
      Représentation textuelle du nœud. Utile en phase de débogage.
      Overrides:
      toString in class Object