L’algorithme d'Huffman en c# !
Bonjour les loulous,
Je suis actuellement en train de me pencher sur l'algorithme d'Huffman en C#, langage que je ne maîtrise pas encore... (Il faut bien un début à tout !)
Je l'ai déjà fait en C, et j'aimerai refaire un peu la même chose en C#, juste pour connaître les différences entre les deux langages.
Je suis face à un problème que je n'arrive pas à résoudre. Pour ceux qui ne connaisse pas, l'algorithme d'Huffman est là : http://fr.wikipedia.org/wiki/Codage_de_Huffman
J'essaye de compresser des fichiers textes. Ce qui fait que je compte le nombre d’occurrence de mes lettres, et je les places comme suis :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| A 1
l 1
l 2
e 1
r 1
1
l 3
e 2
s 1
2
m 1
e 3
c 1
s 2
3
o 1
n 1
4
y 1
5
c 2
r 2
o 2
i 1
t 1
6
! 1 |
Maintenant, j'aimerai créer une liste, pour ensuite l'utiliser et créer un arbre avec celle ci. (Cas d'école me voilà !)
Je fais ceci :
Code:
1 2 3 4 5 6 7 8 9
|
struct Maillon
{
char octet;
int occurence;
struct Maillon * filsGauche;
struct Maillon * filsDroit;
struct Maillon * suivant;
} |
Mais d'après mes quelques recherches, je ne peux pas utiliser de pointeurs dans une structure et sur une structure, à cause du Garbage collector.
Donc, je vous demande ici même, puis je utiliser les pointeurs ? Ou, sinon, comment puis je pallier au problème ?
Merci à tous =)
Sylvanocry.