Si on voit un arbre enraciné comme cas particulier de graphe non orienté, on peut utiliser les modélisations vues de ce chapitre. Cependant comme les arbres sont des graphes très particuliers, il existe des modélisations plus efficaces.
Version "récursive".
On peut envisager un arbre autrement que comme un cas partciulier de graphe : on peut le voir comme étant composé de trois choses : une clef, un arbre à gauche et un arbre à droite. C'est une définition récursive et dans cette représentation l'arbre et le noeud de l'implémentation précédente se "confondent".
Algorithme Huffman
Il est impossible d'avoir un algorithme capable de compresser n'importe quel fichier, cependant le résultat est théorique en effet les fichiers ne sont pas aléatoires, ils ont des particularités que l'on peu exploiter. Par exemple les fichiers texte contiennent en langue française sans doute plus de fois le 'e' que le 'z' pourtant le codage de ses deux caractère prend la même place.
Nous allons étudier un algorithme très important et célèbre L'algorithme de Huffman qui met en pratique cette idéee. Huffman est généralement une des couches des programmes de compression.
Pour simplifier l'exemple nous allons imaginer un alphabet de 8 lettres "a", "b", "c", "d", "e", "f", "g", "h" on peut stocker chaque lettre dans 3 bits de la facon suivante :