107

Arbres binaires de recherche : algorithmique et algèbre

  • Upload
    volien

  • View
    221

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Arbres binaires de recherche : algorithmique et algèbre

Arbres binaires de recherche : algorithmique etalgèbre

Samuele Giraudo

Université de Marne-la-Vallée

École doctorale MSTIC

10 juin 2010

Page 2: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 3: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 4: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 5: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 6: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 7: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 8: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 9: Arbres binaires de recherche : algorithmique et algèbre

Quelques arbres binaires

Taille Arbres binaires

0 ∅1

2

3

4

Page 10: Arbres binaires de recherche : algorithmique et algèbre

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 .

Page 11: Arbres binaires de recherche : algorithmique et algèbre

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 .

Page 12: Arbres binaires de recherche : algorithmique et algèbre

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 .

Page 13: Arbres binaires de recherche : algorithmique et algèbre

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 .

Page 14: Arbres binaires de recherche : algorithmique et algèbre

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 .

Page 15: Arbres binaires de recherche : algorithmique et algèbre

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 .

Page 16: Arbres binaires de recherche : algorithmique et algèbre

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).

Page 17: Arbres binaires de recherche : algorithmique et algèbre

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).

Page 18: Arbres binaires de recherche : algorithmique et algèbre

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

Page 19: Arbres binaires de recherche : algorithmique et algèbre

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

Page 20: Arbres binaires de recherche : algorithmique et algèbre

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

Page 21: Arbres binaires de recherche : algorithmique et algèbre

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

Page 22: Arbres binaires de recherche : algorithmique et algèbre

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

Page 23: Arbres binaires de recherche : algorithmique et algèbre

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

Page 24: Arbres binaires de recherche : algorithmique et algèbre

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

Page 25: Arbres binaires de recherche : algorithmique et algèbre

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

Page 26: Arbres binaires de recherche : algorithmique et algèbre

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

Page 27: Arbres binaires de recherche : algorithmique et algèbre

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

Page 28: Arbres binaires de recherche : algorithmique et algèbre

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

Page 29: Arbres binaires de recherche : algorithmique et algèbre

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

Page 30: Arbres binaires de recherche : algorithmique et algèbre

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

Page 31: Arbres binaires de recherche : algorithmique et algèbre

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

Page 32: Arbres binaires de recherche : algorithmique et algèbre

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

Page 33: Arbres binaires de recherche : algorithmique et algèbre

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

Page 34: Arbres binaires de recherche : algorithmique et algèbre

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

Page 35: Arbres binaires de recherche : algorithmique et algèbre

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

Page 36: Arbres binaires de recherche : algorithmique et algèbre

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

Page 37: Arbres binaires de recherche : algorithmique et algèbre

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

Page 38: Arbres binaires de recherche : algorithmique et algèbre

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

Page 39: Arbres binaires de recherche : algorithmique et algèbre

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

Page 40: Arbres binaires de recherche : algorithmique et algèbre

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

Page 41: Arbres binaires de recherche : algorithmique et algèbre

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

Page 42: Arbres binaires de recherche : algorithmique et algèbre

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

Page 43: Arbres binaires de recherche : algorithmique et algèbre

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

Page 44: Arbres binaires de recherche : algorithmique et algèbre

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

Page 45: Arbres binaires de recherche : algorithmique et algèbre

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

Page 46: Arbres binaires de recherche : algorithmique et algèbre

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

Page 47: Arbres binaires de recherche : algorithmique et algèbre

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

Page 48: Arbres binaires de recherche : algorithmique et algèbre

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

Page 49: Arbres binaires de recherche : algorithmique et algèbre

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

Page 50: Arbres binaires de recherche : algorithmique et algèbre

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

Page 51: Arbres binaires de recherche : algorithmique et algèbre

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

Page 52: Arbres binaires de recherche : algorithmique et algèbre

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

Page 53: Arbres binaires de recherche : algorithmique et algèbre

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

Page 54: Arbres binaires de recherche : algorithmique et algèbre

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

Page 55: Arbres binaires de recherche : algorithmique et algèbre

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

Page 56: Arbres binaires de recherche : algorithmique et algèbre

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

Page 57: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 58: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 59: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 60: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 61: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 62: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 63: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 64: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 65: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 66: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 67: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 68: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 69: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 70: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 71: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 72: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 73: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 74: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 75: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 76: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 77: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 78: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 79: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 80: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 81: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 82: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 83: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 84: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 85: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 86: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 87: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 88: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 89: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 90: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 91: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 92: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 93: Arbres binaires de recherche : algorithmique et algèbre

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

M = {T = ABR(σ)|σ ∈ µ� ν, ABR(µ) = T0,ABR(ν) = T1}

et � dénote le produit de mélange décalé.

Page 94: Arbres binaires de recherche : algorithmique et algèbre

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

M = {T = ABR(σ)|σ ∈ µ� ν, ABR(µ) = T0,ABR(ν) = T1}

et � dénote le produit de mélange décalé.

Page 95: Arbres binaires de recherche : algorithmique et algèbre

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

M = {T = ABR(σ)|σ ∈ µ� ν, ABR(µ) = T0,ABR(ν) = T1}

et � dénote le produit de mélange décalé.

Page 96: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 97: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 98: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 99: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 100: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 101: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 102: Arbres binaires de recherche : algorithmique et algèbre

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 !

Page 103: Arbres binaires de recherche : algorithmique et algèbre

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 −→

Page 104: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 105: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 106: Arbres binaires de recherche : algorithmique et algèbre

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.

Page 107: Arbres binaires de recherche : algorithmique et algèbre

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