#ifndef __FREQ_H__ #define __FREQ_H__ typedef struct Vertex Vertex; struct Vertex { // le double `freq` indique la fréquence d'apparition de la lettre // du sommet dans le corpus, ou bien la somme des fréquences de ses fils double frequency; // le caractère `value` est le caractère du corpus que ce sommet // représente (caractère ASCII 0 - 255) char value; // pointe vers le sommet parent à celui-ci (ou bien vers NULL s'il n'a // pas de parent affecté, comme c'est le cas pour les sommets non-traités // et pour la racine) Vertex* parent; }; // calcule un tableau des fréquences des caractères dans le corpus, // indexé par la valeur numérique ASCII de chaque caractère double* computeFrequencies(const char* filepath); // déduit du tableau de fréquences l'arbre de Huffman, représenté // par une liste de sommets chaînés Vertex* buildTree(double* frequencies); #endif