Salut, je cherche un code en C qui me permet de créer un arbre naire et de le parcourir. Svp aidez moi j'en aurai besoin le plutôt possible. Merci pour votre collaboration et j'attends vos propositions
coucou747, tu as parfaitement raison mais mefie toi des Stack overflow avec ta recursivite.
amani20081984: dans kel sens veux tu parcourir ton arbre? voici des choix:
1- Les noeuds niveau par niveau (per level)
2- un noeud suivi de ses noeuds-fils (post fix)
3- un noeud precede par ses noeuds-fils (pre fix)
4- un noeud enchevetre parmis la liste des noeuds fils (in - n -fix)
pour eviter la recursivite utilises une boucle et une queue (file d'attente). Je reutilises le code de coucou747:
Perso, je suis plus de l'avis de nicky: j'essaye des que possible d'éviter la recurssivité. Je pense qu'au niveau des performances, c'est bien meilleur d'avoir un algo itératif que récursif.
pistol_pete, en fait, d'une part, les compilateurs modernes implementent le tail rec pour certaines fonctions ( pas ici, je te l'accorde ) ensuite, il simule une Stack pour eviter la recursivite... donc en fait, son algo est plus lent que le mien en pratique...
Ca serai vraiment cool de ta part, si tu pouvais nous donner un petit exemple de fonction tail rec.
Pour moi, la fonction que tu as ecrit est le parfait exemple de la recurssivite et je ne vois vraiment pas a quoi pourrait ressembler une fonction tail rec.
Salut,
coucou747, une version iterative est en principe plus rapide qu'une version recursive sauf dans le definition de templates (c++). Si tu parles de performances , j'aurais tout simplement a coder moi meme une structure de Queue en utilisant un Tableau , suivi d'un index iteratif et d'une taille enregistree. ca aurait ete certainement au moins 3 fois plus rapide. Si tu veux faire un test , je suis dispo (ca pourrait etre nice ).
salut tout le monde je veut un algourithme qui trouver la position d'un element dans un arbre n-aire ,inserer un element et supprimer en c j trouvé une dificulté svp