arbres binaires de recherche : algorithmique et algèbre
TRANSCRIPT
Arbres binaires de recherche : algorithmique etalgèbre
Samuele Giraudo
Université de Marne-la-Vallée
École doctorale MSTIC
10 juin 2010
Concepts de base
I Algorithmique
: science de la dé�nition, de la conception et del'analyse des algorithmes. Algorithme : liste �nie d'instructions qui permet larésolution d'un problème donné.
I Algèbre
: branche des mathématiques qui porte sur l'étude desstructures algébriques. Structure algébrique : ensemble muni de lois decomposition.
Concepts de base
I Algorithmique : science de la dé�nition, de la conception et del'analyse des algorithmes. Algorithme : liste �nie d'instructions qui permet larésolution d'un problème donné.
I Algèbre
: branche des mathématiques qui porte sur l'étude desstructures algébriques. Structure algébrique : ensemble muni de lois decomposition.
Concepts de base
I Algorithmique : science de la dé�nition, de la conception et del'analyse des algorithmes. Algorithme : liste �nie d'instructions qui permet larésolution d'un problème donné.
I Algèbre : branche des mathématiques qui porte sur l'étude desstructures algébriques. Structure algébrique : ensemble muni de lois decomposition.
Buts de l'exposé
I Introduire les arbres binaires.
I Présenter quelques algorithmes basés sur les arbres binaires derecherche.
I Glisser vers le coté algébrique des arbres binaires.
Buts de l'exposé
I Introduire les arbres binaires.
I Présenter quelques algorithmes basés sur les arbres binaires derecherche.
I Glisser vers le coté algébrique des arbres binaires.
Buts de l'exposé
I Introduire les arbres binaires.
I Présenter quelques algorithmes basés sur les arbres binaires derecherche.
I Glisser vers le coté algébrique des arbres binaires.
Arbres binaires
Un arbre binaire est
I soit l'arbre vide ∅ ;
I soit un n÷ud attaché par des arêtes à deuxautres arbres binaires :
G D
où G (resp. D) est le sous-arbre gauche (resp. droit) de l'arbrebinaire.
Quelques arbres binaires
Taille Arbres binaires
0 ∅1
2
3
4
Un problème d'algorithmique
Soit E un ensemble. On souhaite répondre aux problèmes suivants.
I Appartenance : étant donné un élément x , a-t-on x ∈ E ?
I Minimum (resp. maximum) : calcul de minE (resp. maxE ).
I Ajout : placer un élément x dans E .
I Suppression : supprimer un élément x de E .
Unique hypothèse : il est possible de comparer toute paired'éléments de E .
Un problème d'algorithmique
Soit E un ensemble. On souhaite répondre aux problèmes suivants.
I Appartenance : étant donné un élément x , a-t-on x ∈ E ?
I Minimum (resp. maximum) : calcul de minE (resp. maxE ).
I Ajout : placer un élément x dans E .
I Suppression : supprimer un élément x de E .
Unique hypothèse : il est possible de comparer toute paired'éléments de E .
Un problème d'algorithmique
Soit E un ensemble. On souhaite répondre aux problèmes suivants.
I Appartenance : étant donné un élément x , a-t-on x ∈ E ?
I Minimum (resp. maximum) : calcul de minE (resp. maxE ).
I Ajout : placer un élément x dans E .
I Suppression : supprimer un élément x de E .
Unique hypothèse : il est possible de comparer toute paired'éléments de E .
Un problème d'algorithmique
Soit E un ensemble. On souhaite répondre aux problèmes suivants.
I Appartenance : étant donné un élément x , a-t-on x ∈ E ?
I Minimum (resp. maximum) : calcul de minE (resp. maxE ).
I Ajout : placer un élément x dans E .
I Suppression : supprimer un élément x de E .
Unique hypothèse : il est possible de comparer toute paired'éléments de E .
Un problème d'algorithmique
Soit E un ensemble. On souhaite répondre aux problèmes suivants.
I Appartenance : étant donné un élément x , a-t-on x ∈ E ?
I Minimum (resp. maximum) : calcul de minE (resp. maxE ).
I Ajout : placer un élément x dans E .
I Suppression : supprimer un élément x de E .
Unique hypothèse : il est possible de comparer toute paired'éléments de E .
Un problème d'algorithmique
Soit E un ensemble. On souhaite répondre aux problèmes suivants.
I Appartenance : étant donné un élément x , a-t-on x ∈ E ?
I Minimum (resp. maximum) : calcul de minE (resp. maxE ).
I Ajout : placer un élément x dans E .
I Suppression : supprimer un élément x de E .
Unique hypothèse : il est possible de comparer toute paired'éléments de E .
Une réponse algorithmique : les ABR
Les arbres binaires de recherche (ABR) sont d'excellents objetspour répondre à ces problèmes !
ABR : arbre binaire dont les n÷uds sont étiquetés par les élémentsde E avec la contrainte :
e
≤ e > e
Pour tout n÷ud e, les éléments de son sous-arbre gauche (resp.droit) sont tous ≤ e (resp. > e).
Une réponse algorithmique : les ABR
Les arbres binaires de recherche (ABR) sont d'excellents objetspour répondre à ces problèmes !
ABR : arbre binaire dont les n÷uds sont étiquetés par les élémentsde E avec la contrainte :
e
≤ e > e
Pour tout n÷ud e, les éléments de son sous-arbre gauche (resp.droit) sont tous ≤ e (resp. > e).
Exemples d'ABR
1
2
3
4
5
6
7
8
9
10
11
correct
a
a
b
c
c
d
e
e
f
correct
1
3
2
4
3
2
non correct
5
5
5
5
non correct
Exemples d'ABR
1
2
3
4
5
6
7
8
9
10
11
correct
a
a
b
c
c
d
e
e
f
correct
1
3
2
4
3
2
non correct
5
5
5
5
non correct
Exemples d'ABR
1
2
3
4
5
6
7
8
9
10
11
correct
a
a
b
c
c
d
e
e
f
correct
1
3
2
4
3
2
non correct
5
5
5
5
non correct
Exemples d'ABR
1
2
3
4
5
6
7
8
9
10
11
correct
a
a
b
c
c
d
e
e
f
correct
1
3
2
4
3
2
non correct
5
5
5
5
non correct
Exemples d'ABR
1
2
3
4
5
6
7
8
9
10
11
correct
a
a
b
c
c
d
e
e
f
correct
1
3
2
4
3
2
non correct
5
5
5
5
non correct
Exemples d'ABR
1
2
3
4
5
6
7
8
9
10
11
correct
a
a
b
c
c
d
e
e
f
correct
1
3
2
4
3
2
non correct
5
5
5
5
non correct
Exemples d'ABR
1
2
3
4
5
6
7
8
9
10
11
correct
a
a
b
c
c
d
e
e
f
correct
1
3
2
4
3
2
non correct
5
5
5
5
non correct
Exemples d'ABR
1
2
3
4
5
6
7
8
9
10
11
correct
a
a
b
c
c
d
e
e
f
correct
1
3
2
4
3
2
non correct
5
5
5
5
non correct
Exemples d'ABR
1
2
3
4
5
6
7
8
9
10
11
correct
a
a
b
c
c
d
e
e
f
correct
1
3
2
4
3
2
non correct
5
5
5
5
non correct
Exemples d'ABR
1
2
3
4
5
6
7
8
9
10
11
correct
a
a
b
c
c
d
e
e
f
correct
1
3
2
4
3
2
non correct
5
5
5
5
non correct
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter.
On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
5
55
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
55
5
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
5
5
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
5
5
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
6
6
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
5
5
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
3
3
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
5
5
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
6
6
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
9
9
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
5
5
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
3
3
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
5
5
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
6
6
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
9
9
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
8
8
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
5
5
33
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
3
3
11
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
1
1
2
Insertion dans un ABR
Soit σ = 271849365 une permutation qui encode les éléments del'ensemble à représenter. On construit l'ABR de σ en insérant ses éléments de droite àgauche :
555
6
55
3
55
66
9
55
33
4
55
66
99
8
55
33
1
55
66
99
88
7
55
33
11
2
Recherche dans un ABR
Soit l'ABR qui représente l'ensemble E = {1, 2, 3, 4, 6, 7} construità partir de la permutation σ = 341276 :
1
2
3
4
6
7
6
2
4
6
2
4
6
7
Est-ce que l'élément 4 appartient à E ? ⇒ oui !Est-ce que l'élément 8 appartient à E ? ⇒ non.
Recherche dans un ABR
Soit l'ABR qui représente l'ensemble E = {1, 2, 3, 4, 6, 7} construità partir de la permutation σ = 341276 :
1
2
3
4
6
7
6
2
4
6
2
4
6
7
Est-ce que l'élément 4 appartient à E ?
⇒ oui !Est-ce que l'élément 8 appartient à E ? ⇒ non.
Recherche dans un ABR
Soit l'ABR qui représente l'ensemble E = {1, 2, 3, 4, 6, 7} construità partir de la permutation σ = 341276 :
1
2
3
4
6
7
6
2
4
6
2
4
6
7
Est-ce que l'élément 4 appartient à E ?
⇒ oui !Est-ce que l'élément 8 appartient à E ? ⇒ non.
Recherche dans un ABR
Soit l'ABR qui représente l'ensemble E = {1, 2, 3, 4, 6, 7} construità partir de la permutation σ = 341276 :
1
2
3
4
6
7
6
2
4
6
2
4
6
7
Est-ce que l'élément 4 appartient à E ?
⇒ oui !Est-ce que l'élément 8 appartient à E ? ⇒ non.
Recherche dans un ABR
Soit l'ABR qui représente l'ensemble E = {1, 2, 3, 4, 6, 7} construità partir de la permutation σ = 341276 :
1
2
3
4
6
7
6
2
4
6
2
4
6
7
Est-ce que l'élément 4 appartient à E ?
⇒ oui !Est-ce que l'élément 8 appartient à E ? ⇒ non.
Recherche dans un ABR
Soit l'ABR qui représente l'ensemble E = {1, 2, 3, 4, 6, 7} construità partir de la permutation σ = 341276 :
1
2
3
4
6
7
6
2
4
6
2
4
6
7
Est-ce que l'élément 4 appartient à E ? ⇒ oui !
Est-ce que l'élément 8 appartient à E ? ⇒ non.
Recherche dans un ABR
Soit l'ABR qui représente l'ensemble E = {1, 2, 3, 4, 6, 7} construità partir de la permutation σ = 341276 :
1
2
3
4
6
7
6
2
4
6
2
4
6
7
Est-ce que l'élément 4 appartient à E ? ⇒ oui !Est-ce que l'élément 8 appartient à E ?
⇒ non.
Recherche dans un ABR
Soit l'ABR qui représente l'ensemble E = {1, 2, 3, 4, 6, 7} construità partir de la permutation σ = 341276 :
1
2
3
4
6
7
6
2
4
6
2
4
6
7
Est-ce que l'élément 4 appartient à E ? ⇒ oui !Est-ce que l'élément 8 appartient à E ?
⇒ non.
Recherche dans un ABR
Soit l'ABR qui représente l'ensemble E = {1, 2, 3, 4, 6, 7} construità partir de la permutation σ = 341276 :
1
2
3
4
6
7
6
2
4
6
2
4
6
7
Est-ce que l'élément 4 appartient à E ? ⇒ oui !Est-ce que l'élément 8 appartient à E ?
⇒ non.
Recherche dans un ABR
Soit l'ABR qui représente l'ensemble E = {1, 2, 3, 4, 6, 7} construità partir de la permutation σ = 341276 :
1
2
3
4
6
7
6
2
4
6
2
4
6
7
Est-ce que l'élément 4 appartient à E ? ⇒ oui !Est-ce que l'élément 8 appartient à E ? ⇒ non.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4
,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4
,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4
,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4
,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4 ,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4 ,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4 ,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4 ,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4 ,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4 ,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une première propriété combinatoire
Soit σ = 4312 et ν = 2143 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4 ,
celui de ν est
U =
1
2
3
4
.
Clairement, T et U représentent le même ensemble, mais T 6= U.
Conclusion ⇒ les forme des ABR dépend de l'ordre dans lequel leséléments sont insérés.
Une seconde propriété combinatoire
Soit σ = 346125 et ν = 613425 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4
5
6
,
L'ABR correspondant à ν est
U =
1
2
3
4
5
6
.
Les éléments ont été insérés dans un ordre di�érent mais T = U.
Conclusion ⇒ deux permutations di�érentes peuvent donner lemême ABR.
Une seconde propriété combinatoire
Soit σ = 346125 et ν = 613425 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4
5
6
,
L'ABR correspondant à ν est
U =
1
2
3
4
5
6
.
Les éléments ont été insérés dans un ordre di�érent mais T = U.
Conclusion ⇒ deux permutations di�érentes peuvent donner lemême ABR.
Une seconde propriété combinatoire
Soit σ = 346125 et ν = 613425 deux permutations.L'ABR correspondant à σ est
T =
1
2
3
4
5
6
,
L'ABR correspondant à ν est
U =
1
2
3
4
5
6
.
Les éléments ont été insérés dans un ordre di�érent mais T = U.
Conclusion ⇒ deux permutations di�érentes peuvent donner lemême ABR.
Une seconde propriété combinatoire
Soit σ = 346125 et ν = 613425 deux permutations.L'ABR correspondant à σ est
T =1
2
3
4
5
6
,
L'ABR correspondant à ν est
U =
1
2
3
4
5
6
.
Les éléments ont été insérés dans un ordre di�érent mais T = U.
Conclusion ⇒ deux permutations di�érentes peuvent donner lemême ABR.
Une seconde propriété combinatoire
Soit σ = 346125 et ν = 613425 deux permutations.L'ABR correspondant à σ est
T =1
2
3
4
5
6
,
L'ABR correspondant à ν est
U =
1
2
3
4
5
6
.
Les éléments ont été insérés dans un ordre di�érent mais T = U.
Conclusion ⇒ deux permutations di�érentes peuvent donner lemême ABR.
Une seconde propriété combinatoire
Soit σ = 346125 et ν = 613425 deux permutations.L'ABR correspondant à σ est
T =1
2
3
4
5
6
,
L'ABR correspondant à ν est
U =1
2
3
4
5
6
.
Les éléments ont été insérés dans un ordre di�érent mais T = U.
Conclusion ⇒ deux permutations di�érentes peuvent donner lemême ABR.
Une seconde propriété combinatoire
Soit σ = 346125 et ν = 613425 deux permutations.L'ABR correspondant à σ est
T =1
2
3
4
5
6
,
L'ABR correspondant à ν est
U =1
2
3
4
5
6
.
Les éléments ont été insérés dans un ordre di�érent mais T = U.
Conclusion ⇒ deux permutations di�érentes peuvent donner lemême ABR.
Une seconde propriété combinatoire
Soit σ = 346125 et ν = 613425 deux permutations.L'ABR correspondant à σ est
T =1
2
3
4
5
6
,
L'ABR correspondant à ν est
U =1
2
3
4
5
6
.
Les éléments ont été insérés dans un ordre di�érent mais T = U.
Conclusion ⇒ deux permutations di�érentes peuvent donner lemême ABR.
Une seconde propriété combinatoire
Soit σ = 346125 et ν = 613425 deux permutations.L'ABR correspondant à σ est
T =1
2
3
4
5
6
,
L'ABR correspondant à ν est
U =1
2
3
4
5
6
.
Les éléments ont été insérés dans un ordre di�érent mais T = U.
Conclusion ⇒ deux permutations di�érentes peuvent donner lemême ABR.
Un pas vers l'algèbre des arbres binaires
SoitFT =
∑σ∈P
σ
où P est l'ensemble des permutations qui, insérées selonl'algorithme ABR donnent l'arbre binaire T .
Par exemple :
F = 132+ 312
F = 321
F = 13254+ 13524+ 15324+ 31254+
31524+ 35124+ 51324+ 53124
F = environ 21 millions de permutations !
Un pas vers l'algèbre des arbres binaires
SoitFT =
∑σ∈P
σ
où P est l'ensemble des permutations qui, insérées selonl'algorithme ABR donnent l'arbre binaire T .
Par exemple :
F =
132+ 312
F =
321
F =
13254+ 13524+ 15324+ 31254+
31524+ 35124+ 51324+ 53124
F =
environ 21 millions de permutations !
Un pas vers l'algèbre des arbres binaires
SoitFT =
∑σ∈P
σ
où P est l'ensemble des permutations qui, insérées selonl'algorithme ABR donnent l'arbre binaire T .
Par exemple :
F = 132+ 312
F =
321
F =
13254+ 13524+ 15324+ 31254+
31524+ 35124+ 51324+ 53124
F =
environ 21 millions de permutations !
Un pas vers l'algèbre des arbres binaires
SoitFT =
∑σ∈P
σ
où P est l'ensemble des permutations qui, insérées selonl'algorithme ABR donnent l'arbre binaire T .
Par exemple :
F = 132+ 312
F = 321
F =
13254+ 13524+ 15324+ 31254+
31524+ 35124+ 51324+ 53124
F =
environ 21 millions de permutations !
Un pas vers l'algèbre des arbres binaires
SoitFT =
∑σ∈P
σ
où P est l'ensemble des permutations qui, insérées selonl'algorithme ABR donnent l'arbre binaire T .
Par exemple :
F = 132+ 312
F = 321
F = 13254+ 13524+ 15324+ 31254+
31524+ 35124+ 51324+ 53124
F =
environ 21 millions de permutations !
Un pas vers l'algèbre des arbres binaires
SoitFT =
∑σ∈P
σ
où P est l'ensemble des permutations qui, insérées selonl'algorithme ABR donnent l'arbre binaire T .
Par exemple :
F = 132+ 312
F = 321
F = 13254+ 13524+ 15324+ 31254+
31524+ 35124+ 51324+ 53124
F = environ 21 millions de permutations !
Un produit sur les arbres binaires
I Notion de produit sur les arbres binaires.
I L'idée : assembler deux éléments pour en former des plus gros.
I Dé�ni par :
FT0 � FT1 =∑T∈M
FT
où
M = {T = ABR(σ)|σ ∈ µ� ν, ABR(µ) = T0,ABR(ν) = T1}
et � dénote le produit de mélange décalé.
Un produit sur les arbres binaires
I Notion de produit sur les arbres binaires.
I L'idée : assembler deux éléments pour en former des plus gros.
I Dé�ni par :
FT0 � FT1 =∑T∈M
FT
où
M = {T = ABR(σ)|σ ∈ µ� ν, ABR(µ) = T0,ABR(ν) = T1}
et � dénote le produit de mélange décalé.
Un produit sur les arbres binaires
I Notion de produit sur les arbres binaires.
I L'idée : assembler deux éléments pour en former des plus gros.
I Dé�ni par :
FT0 � FT1 =∑T∈M
FT
où
M = {T = ABR(σ)|σ ∈ µ� ν, ABR(µ) = T0,ABR(ν) = T1}
et � dénote le produit de mélange décalé.
Un exemple de produit (1)
F � F =
(132+ 312)� 12
= 132� 12+ 312� 12
= 132� 45+ 312� 45
= 13245+ 13425+ 13452+ 14325+ 14352+
14532+ 41325+ 41352+ 41532+ 45132+
31245+ 31425+ 31452+ 34125+ 34152+
34512+ 43125+ 43152+ 43512+ 45312
Il ne reste plus qu'a déterminer les ABR qui correspondent à cespermutations !
Un exemple de produit (1)
F � F = (132+ 312)� 12
= 132� 12+ 312� 12
= 132� 45+ 312� 45
= 13245+ 13425+ 13452+ 14325+ 14352+
14532+ 41325+ 41352+ 41532+ 45132+
31245+ 31425+ 31452+ 34125+ 34152+
34512+ 43125+ 43152+ 43512+ 45312
Il ne reste plus qu'a déterminer les ABR qui correspondent à cespermutations !
Un exemple de produit (1)
F � F = (132+ 312)� 12
= 132� 12+ 312� 12
= 132� 45+ 312� 45
= 13245+ 13425+ 13452+ 14325+ 14352+
14532+ 41325+ 41352+ 41532+ 45132+
31245+ 31425+ 31452+ 34125+ 34152+
34512+ 43125+ 43152+ 43512+ 45312
Il ne reste plus qu'a déterminer les ABR qui correspondent à cespermutations !
Un exemple de produit (1)
F � F = (132+ 312)� 12
= 132� 12+ 312� 12
= 132� 45+ 312� 45
= 132� 45+ 312� 45
= 13245+ 13425+ 13452+ 14325+ 14352+
14532+ 41325+ 41352+ 41532+ 45132+
31245+ 31425+ 31452+ 34125+ 34152+
34512+ 43125+ 43152+ 43512+ 45312
Il ne reste plus qu'a déterminer les ABR qui correspondent à cespermutations !
Un exemple de produit (1)
F � F = (132+ 312)� 12
= 132� 12+ 312� 12
= 132� 45+ 312� 45
= 13245+ 13425+ 13452+ 14325+ 14352+
14532+ 41325+ 41352+ 41532+ 45132+
31245+ 31425+ 31452+ 34125+ 34152+
34512+ 43125+ 43152+ 43512+ 45312
Il ne reste plus qu'a déterminer les ABR qui correspondent à cespermutations !
Un exemple de produit (1)
F � F = (132+ 312)� 12
= 132� 12+ 312� 12
= 132� 45+ 312� 45
= 13245+ 13425+ 13452+ 14325+ 14352+
14532+ 41325+ 41352+ 41532+ 45132+
31245+ 31425+ 31452+ 34125+ 34152+
34512+ 43125+ 43152+ 43512+ 45312
Il ne reste plus qu'a déterminer les ABR qui correspondent à cespermutations !
Un exemple de produit (1)
F � F = (132+ 312)� 12
= 132� 12+ 312� 12
= 132� 45+ 312� 45
= 13245+ 13425+ 13452+ 14325+ 14352+
14532+ 41325+ 41352+ 41532+ 45132+
31245+ 31425+ 31452+ 34125+ 34152+
34512+ 43125+ 43152+ 43512+ 45312
Il ne reste plus qu'a déterminer les ABR qui correspondent à cespermutations !
Un exemple de produit (2)
13245, 31245 −→
13425, 31425, 34125 −→
13452, 31452, 34152, 34512 −→
14325, 41325, 43125 −→
14352, 41352, 43152, 43512 −→
14532, 41532, 45132, 45312 −→
Un exemple de produit (3)
Et �nalement :
F � F = F + F + F + F + F + F .
I Calcul di�cilement praticable !
I Il existe cependant d'autres descriptions du produit d'ABR,moins directes, mais avec l'avantage de fournir un procédé decalcul beaucoup plus simple.
Un exemple de produit (3)
Et �nalement :
F � F = F + F + F + F + F + F .
I Calcul di�cilement praticable !
I Il existe cependant d'autres descriptions du produit d'ABR,moins directes, mais avec l'avantage de fournir un procédé decalcul beaucoup plus simple.
Un exemple de produit (3)
Et �nalement :
F � F = F + F + F + F + F + F .
I Calcul di�cilement praticable !
I Il existe cependant d'autres descriptions du produit d'ABR,moins directes, mais avec l'avantage de fournir un procédé decalcul beaucoup plus simple.
Quelques références
A Aho and J. Ullman, Foundation of Computer Science, W. H.Freeman, 1994
T. Cormen, C. Leiserson, R. Rivest and C. Stein, Introductionto algorithms, McGraw-Hill, 2003
J.-L. Loday and M. Ronco, Hopf algebra on the planar binarytrees, Advances in Mathematics 139, 293-309, 1998
F. Hivert, J.-C. Novelli and J.-Y. Thibon, The algebra of binarysearch trees, arXiv :math/0401089v2 [math.CO], 2004