Voilà, j'aurais besoin d'une petite aide pour avancer mon TP projet : Codage par la méthode de Huffman
Pour l'instant, j'ai écris ces fonctions :
(ajoute1 cr L) qui ajoute 1 à la fréquence du caractère cr s'il est dans la liste L, ou qui ajoute le caractère dans cette liste
Exemple : (ajoute1 "e" '(("a" 3) ("e" 2)) renvoie '(("a" 3) ("e" 3))
(statistiques L) qui étant donnée une liste de caractères calcule la liste des fréquences
Exemple : (statistiques '("c" "c" "m")) renvoie '(("c" 2) ("m" 1))
(inserefreq cp L) insère le couple cp dans une liste de couples triée
Exemple : (inserefreq '("a" 2) '(("b" 1) ("d" 3))) renvoie '(("b" 1) ("a" 2) ("d" 3))
(triefreq L) qui trie une liste de fréquences par insertions successives
(fg A) qui renvoie le fils gauche d'un arbre
(fd A) qui renvoie le fils droit d'un arbre
(feuille? L) qui renvoie vraie si une liste L représente une feuille (i.e. : un couple)
(fusion A B) qui fusionne deux arbres de Huffman ( A et B )
(arbre-codage L) qui, selon une liste L des fréquences triée, construit l'arbre de Huffman (par insertions successives de la fusion des deux premiers arbres dans le reste de la liste.
Et c'est maintenant que ça devient plus compliqué je trouve :
Créer la fonction construit-code qui, étant donné un arbre de Huffman, construit la liste des codes associés à chaque caractère.
Voilà... Si quelqu'un trouve ceci trivial, je serais heureuse qu'il puisse m'éclairer un peu, car là, je suis complètement bloquée, et cela m'empêche de terminer ce TP.
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.