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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.