1
Département Informatique
Département Informatique
Structures de données – partie 3
Arbres binaires de calcul
Programmation objet
Cours n°8
2
Département Informatique
Département Informatique Arbre binaire de calcul
Nous avons vu l'utilisation des arbres binaires en tant que structure de données
optimisée pour la recherche par valeur sur un critère "binaire".
La même structure peut également être utilisée dans un autre cas :
Un calcul d'expression mathématiques
On parle dans ce cas d'arbre binaire de calcul.
La structure est identique, mais son fonctionnement est différent.
3
Département Informatique
Département Informatique Principe
Lorsqu'on effectue un calcul, on effectue en fait une suite d'opérations
Chaque opération utilise deux opérandes
Chaque opération fournit un sultat qui peut être utilisé pour une
autre opération.
On remarque donc que l'ensemble de l'expression de calcul peut
se modéliser dans un arbre binaire où les feuilles seront les
opérandes et les racines les opérations...
4
Département Informatique
Département Informatique Exemple
Soit le calcul : 6 * 3 + 4 * 2 - 2
Le calcul peut se modéliser par l'arbre binaire suivant :
42
*
+
-
2
63
*
5
Département Informatique
Département Informatique Exemple d'implémentation C++
class arbre_calcul
{
enum type_operation
{aucun=0,plus='+', moins='-', mult='*',
div='/'};
struct feuille
{
type_operation Operateur;
double Operande;
feuille* f_gauche;
feuille* f_droite;
double Valeur() const;
};
typedef feuille* pfeuille;
pfeuille racine;
double Valeur() const;
};
1 / 15 100%