Table des matières
1 Introduction générale 4
1.1 Notion d’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Première approche pour comparer des algorithmes . . . . . . . 5
1.3 Random Access Machine . . . . . . . . . . . . . . . . . . . . . 8
1.4 Introduction aux notations asymptotiques . . . . . . . . . . . 10
1.5 Évaluation des coûts . . . . . . . . . . . . . . . . . . . . . . . 12
2 Étude de la complexité 14
2.1 Notations de Landau . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Théorèmegénéral......................... 14
2.3 Preuve par récurrence . . . . . . . . . . . . . . . . . . . . . . 14
3 Les tris 16
3.1 Triparsélection.......................... 17
3.2 Triparinsertion.......................... 18
3.3 Trifusion ............................. 19
3.4 Tripartas............................. 22
3.5 Trirapide ............................. 25
3.5.1 Complexité ........................ 26
3.5.2 Variantes ......................... 26
3.6 Choix du pivot & calcul de médiane . . . . . . . . . . . . . . . 27
3.7 Comparaison des algorithmes de tri basés sur les comparaisons 32
3.8 Tri par dénombrement . . . . . . . . . . . . . . . . . . . . . . 34
3.9 Triparbase............................ 35
3.10Triparpaquets .......................... 37
4 Les structures de données 39
4.1 Étude des structures « classiques » . . . . . . . . . . . . . . . 39
4.2 Les arbres rouge-noir . . . . . . . . . . . . . . . . . . . . . . . 41
4.3 Tableaux dynamiques . . . . . . . . . . . . . . . . . . . . . . . 43
4.4 TablesdeHachages........................ 43
1