Bonjour,
J'aimerais implémenter un arbre quelconque (nombre quelconque de fils par noeud) en C mais je ne sais absolument pas comment m'y prendre pour commencer.
Quelqu'un saurait-il m'aiguiller pour démarrer?
Merci d'avance :)
Version imprimable
Bonjour,
J'aimerais implémenter un arbre quelconque (nombre quelconque de fils par noeud) en C mais je ne sais absolument pas comment m'y prendre pour commencer.
Quelqu'un saurait-il m'aiguiller pour démarrer?
Merci d'avance :)
Tu peux également utiliser une représentation fils-gauche, frère-droit qui a l'avantage de permettre une représentation binaire d'un arbre quelconque. Dans cette représentation, au lieu d'utiliser un tableau ou une liste de pointeurs sur chacuns des fils, chaque noeud possède deux pointeurs (en plus de celui vers le père). Le premier pointe sur le fils le plus à gauche et le deuxième pointe sur le frère situé immédiatement à droite. Si le noeud ne possède aucun fils, alors fils_gauche vaut NULL. Idem si ce noeud est le fils le plus à droite de son père. Cela donne donne la structure suivante:
ThierryCode:
1
2
3
4
5
6
7 struct Node { struct Node *pere; struct Node *fils_gauche; struct Node *frere_droite; void *data; };