20
Structures de données IFT-10541 Abder Alikacem Abder Alikacem Semaine 10 Les arbres SPLAY Département d’informatique et de génie logiciel Édition septembre 2009 6 3 8 4 v z

Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Embed Size (px)

Citation preview

Page 1: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Structures de données

IFT-10541

Abder AlikacemAbder Alikacem

Semaine 10

Les arbres SPLAY

Département d’informatique et de génie logiciel

Édition septembre 2009

6

3 8

4

v

z

Page 2: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Arbre SPLAY

Plan

Page 3: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

L’heuristique SPLAY

Auto-ajustement (aucune information de hauteur ou de couleur)

Complexité amortie sur n opérations

Règle du 90-10 (90% des opérations effectuées sur 10% des données)

Page 4: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

L’heuristique SPLAY

Toujours faire remonter le nœud résultant à la racine:

insertion: le nouvel élément devient la racine

recherche: le dernier noeud accédé devient la racine (recherche réussie ou non)

retrait: d’abord une recherche, puis un retrait

Page 5: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Algorithme (qui ne fonctionne pas)

Rotate-to-root: rotation simple de X avecson parent, jusqu’à ce que X soit à la racine.

Page 6: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Algorithme (qui ne fonctionne pas)

Accéder aux N éléments: N + ∑ i = Θ(N2)

t=N t=N t=N-1 t=N-2

Page 7: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Algorithme (qui ne fonctionne pas)

Accéder aux N éléments: N + ∑ i = Θ(N2)

t=N t=N t=N-1 t=N-2

12

Page 8: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Opération SPLAY qui fonctionne

Au lieu de rotate-to-root, SPLAY:

• X est fils de la racine: rotation simple (zig)• X est vers l’intérieur: rotation double (zigzag)• X est vers l’extérieur: P-G, puis X-P (zigzig)

Page 9: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Zig-Zig

Page 10: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Zig-Zag

Page 11: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Exemple

Page 12: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Exemple

Page 13: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Exemple

Page 14: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Exemple

Page 15: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Exemple

Page 16: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Exemple

Page 17: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Exemple

Page 18: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Exemple

Page 19: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Exemple

Page 20: Structures de données IFT-10541 Abder Alikacem Semaine 10 Les arbres SPLAY Département dinformatique et de génie logiciel Édition septembre 2009 6 3 8

Exemple