2025-12-15 20:43:18 +01:00
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
|
2025-12-15 20:32:35 +01:00
|
|
|
public class HuffmanTree{
|
2025-12-15 20:43:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
private HuffmanNode root;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public HuffmanTree(){
|
|
|
|
|
// constructeur : création des feuilles , puis après de l'abre !
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
utilisation de PriorityQueue<E> pour gérer selon la fréquence !!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
root sera donc la racine de l'arbre
|
|
|
|
|
création des branches avec les plus petites fréquence :
|
|
|
|
|
|
|
|
|
|
Etape de construction suggérer :
|
|
|
|
|
|
|
|
|
|
1 - faire une boucle sur le tableau des fréquences , puis ajouter chaque fréquence > 0 comme un nouveau noeud dans la pile puis empiler
|
|
|
|
|
|
|
|
|
|
2- depiler les deux premieres valeurs pour former les branches jusqu'à ce que la pile ne contient un seul elément
|
|
|
|
|
|
|
|
|
|
3 - cet élément sera la racine de l'abre
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
}
|
2025-12-15 20:32:35 +01:00
|
|
|
}
|