# 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 Summary

Constructors
Constructor
Description
`HuffmanTree(int[] freq)`
Construit l'arbre de Huffman à partir d'un tableau de fréquences.

## Method Summary

Modifier and Type
Method
Description
`Map<Integer,String>`
`generateCodes()`
Lance la génération des codes Huffman en parcourant l'arbre.
`Map<Integer,String>`
`getCodes()`
Retourne les codes Huffman générés.
`HuffmanNode`
`getRoot()`
Permet de récupérer la racine de l'arbre.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## 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