3I-IN9 - Structures de Donn´ees
Arbres
Romain Negrel romain.negrel@esiee.fr
ESIEE Paris
1 Introduction
2 Arbre binaire
Les Arbres
Structure et Vocabulaires
D´ efinition
Structure de donn´ees arborescente acyclique orient´e poss´edant une unique racine
Vocabulaires
Nœud : El´´ement unitaire de l’arbre
Racine : Nœud le plus en haut de l’arbre (Nœud d’acc`es) Feuilles : Nœuds les plus en bas de l’arbre
P`ere : Nœud poss´edant des fils Fils : Nœuds descendants d’un p`ere Profondeur
Les Arbres
Structure et Vocabulaires
Structure et Vocabulaires
Attention
Un Nœud p`ere peut il avoir plusieurs fils ?
I Oui
Un Nœud fils peut il avoir plusieurs p`eres ?
I Non, ce n’est plus un arbre mais un graphe !
Structure et Vocabulaires
Attention
Un Nœud p`ere peut il avoir plusieurs fils ?
I Oui
Un Nœud fils peut il avoir plusieurs p`eres ?
I Non, ce n’est plus un arbre mais un graphe !
Structure et Vocabulaires
Attention
Un Nœud p`ere peut il avoir plusieurs fils ?
I Oui
Un Nœud fils peut il avoir plusieurs p`eres ?
I Non, ce n’est plus un arbre mais un graphe !
Structure et Vocabulaires
Attention
Un Nœud p`ere peut il avoir plusieurs fils ?
I Oui
Un Nœud fils peut il avoir plusieurs p`eres ?
I Non, ce n’est plus un arbre mais un graphe !
Les Arbres
Pourquoi faire ?
Objectifs
Formalisation d’un probl`eme
Re-formalisation du probl`eme (Optimisation)
Tˆ aches ` a effectuer
Construire l’arbre Optimiser l’arbre Parcourir l’arbre
Les Arbres
Exemple
Calculer le r´ esultat d’une expression arithm´ etique
Expression :
I 3×4 + 7 R´esultat :
I 19
Probl` emes :
Traduire la chaˆıne de caract`eres en un arbre Optimiser les op´erations
Les Arbres
Traduire la chaˆıne de caract`eres en un arbre
Les Arbres
Traduire la chaˆıne de caract`eres en un arbre
Les Arbres
Traduire la chaˆıne de caract`eres en un arbre
Les Arbres
Traduire la chaˆıne de caract`eres en un arbre
Les Arbres
Traduire la chaˆıne de caract`eres en un arbre
Les Arbres
Op´erations
D´ eveloppement
Expression :
I a×(b+c) R´esultat :
I a×b+c×b
Les Arbres
Op´erations
Les Arbres
Op´erations
Les Arbres
Optimisation
Factorisation
Expression :
I a×a+ 2×a+b R´esultat :
I a×(a+ 2) +b
Les Arbres
Optimisation
Les Arbres
Optimisation
Les Arbres
Une grande famille
Arbre binaire
Arbre binaire de recherche Arbre bicolore
Arbre B ...
Tas binaire
Arbre binaire
G´en´erique
D´ efinition
L’arbre a les propri´et´es suivantes :
I Chaque nœud contient une r´ef´erence `a un document
I Chaque p`ere `a au maximum deux fils
Sous-types d’arbre binaire
L’arbre binaire entier :
I Tous les nœuds poss`edent z´ero ou deux fils L’arbre binaire parfait :
I Un arbre binaire entier dans lequel toutes les feuilles ont la
Arbre binaire
De recherche
D´ efinition
L’arbre a les propri´et´es suivantes :
I Chaque nœud contient une r´ef´erence `a un document
I Chaque p`ere `a au maximum deux fils
F La branche de gauche contiennent des valeurs inf´erieures ou
´egales
F La branche de droite contiennent des valeurs strictement sup´erieures
Id´ealement, nous voulons un arbre binaire parfait
Arbre binaire de recherche
Construction
Arbre binaire de recherche
Construction
Arbre binaire de recherche
Construction
Arbre binaire de recherche
Construction
Arbre binaire de recherche
Structure de donn´ees
t y p e d e f s t r u c t s t r u c t _ a b r _ n o e u d { f l o a t val ;
s t r u c t _ a b r _ n o e u d * left ; s t r u c t _ a b r _ n o e u d * r i g h t ; } a b r _ n o e u d ;
Arbre binaire de recherche
Question ?
Quelle est la complexit´e
I d’acc`es ?
I de recherche ?
I d’insertion/suppression ?
Pourquoi cherche-t-on `a avoir arbre binaire parfait ?