Je crois que j'ai une indigestion de Huffman ! :-[]
Mais plus sérieusement : je pense que la note (et donc peut-être ton script) comporte une erreur au moment du troisième "B".
@jaudi
C'est lors de la lecture du 3e B (6e caractère) que la note commet une erreur d'algorithme :
• Ce que tu dis dans la note : on émet le code 00, on passe la fréquence de B à 3, puis on continue directement aux lettres suivantes sans modifier l'arbre.
• Ce qu'exige l'algorithme : avant l'incrémentation, B a un poids de 2 (au code 00). La branche EMB2 (au code 1) a également un poids de 2. En passant à une fréquence de 3, B devient plus lourd que la branche EMB2 (poids 3 > poids 2). La propriété d'ordre de l'arbre est violée.
• La correction : B et la branche EMB2 doivent permuter.
◦ La feuille B monte au code 1 (son poids passe à 3).
◦ La branche EMB2 descend au code 00 (son poids reste à 2).
◦ Par conséquent, les codes de A et C changent de préfixe : A devient 000 et C devient 001.
Je peux me tromper... mais avec le crypto tel quel je n'arrive à rien.
On peut en parler ailleurs si tu veux...