#ifndef _ARBRE_HUFFMAN_H_ #define _ARBRE_HUFFMAN_H_ 1 #include #include #include "liste.h" // Définition de l'Arbre. typedef Cellule *Arbre; // Définition d'une lettre/caractère au sens large typedef struct lettre { char lettre; // la lettre / caractère int code; // code binaire int longueur; // longueur du code } Lettre; // Convertis une liste en Arbre. void convertisseurListeEnArbre(Liste *liste); // Encode un fichier. void compression(FILE *entree, FILE *sortie); // Décode un fichier. void decompression(FILE *entree, FILE *sortie); /* Ajoute les valeurs des lettres dans l'arbre. -> `arbre` l'arbre binaire de huffman -> `codeActuel` monte progresssivement quand on parcours l'arbre et c'est la valeur assigné aux noeuds -> `longueur` la profondeur du noeud dans l'arbre -> `lettresListe` notre liste de lettre -> `i` nous permet de se balader dans la liste `lettresListe` (c'est là où l'on se trouve) -> `longueurTotale` est la longueur totale du code en sortie en bits */ void prefix(Arbre arbre, int codeActuel, int longueur, Lettre *lettresListe, int *i, int longueurTotale); #endif