est-ce que y a quelqu'un qui peut m'expliquer les démarches a suivre pour représenter une expression arithmétique avec un arbre binaire (surtout l'ajout des elements dans l'arbre), sachant que je sais coder un arbre binaire de recherche (insertion, rechercher, parcours, ...etc pour ne pas vous ajouter un travail de plus :)) ), par contre cette expression ma rendu vraiment hors de moi, et sincèrement je me sens un peu stupide. Voila, vous savez tous a présent, merci de me filer un coup de main
Je ne donnerai pas tout mon code car il est un peu long et en voie de transformation.
Voici tout de même les définitions principales et la structure que j'ai utilisée.
L'algorithme de remontée dans l'arbre est conforme à ce que j'ai donné dans mon lien (voir ci-haut).
-
// Définition des types d'éléments.
typedef enum type_t type_t;
enum type_t {RACINE, OPERATEUR, OPERAND};
enum {RIEN, ADDITION, PRODUIT, VARIABLE};
enum {CONTINUER, EXIT};
//
// Définition des noeuds de l'arbre binaire.
typedef struct tree_t tree_t;
struct tree_t {
char i; // identificateur (le caractère)
type_t t; // type d'élément.
int p; // priorité
int c; // colonne
tree_t *f; // noeud père
tree_t *l; // fils gauche
tree_t *r; // fils droit
};
- Edité par PierrotLeFou 29 août 2020 à 18:36:12
je vous remercie pour votre aide, c'est bon j'ai réussi resourdre le probleme en utilisant une pile pour empiler l'expression
arbre binaire
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.
Le crayon la gomme et le papier sont les meilleurs outils du programmeur !
Le Tout est souvent plus grand que la somme de ses parties.