2.2.3. Accès à un élément d'un fichier 65
2.2.3.1. Accès par position (accès au kième élément) 66
2.2.3.2. Accès associatif 72
2.2.3.3. Fichier ordonné (fichier trié) 76
2.2.4. Conclusion 85
2.3. Algorithmes traitant plusieurs fichiers 86
2.3.1. Algorithme de création, par copie, d'un fichier 86
2.3.2. Somme ou Concaténation de deux fichiers 87
2.3.3. Eclatement d'un fichier en plusieurs fichiers 88
2.3.3.1. Eclatement d'un fichier à valeur dans N en deux fichiers
suivant le critère de parité 88
2.3.3.2. Eclatement d'un fichier en deux fichiers suivant le rang de l'élément 90
2.3.3.3. Eclatement d'un fichier en plusieurs monotonies 92
2.3.4. Fusion de plusieurs fichiers en un seul 95
2.3.4.1. Interclassement (ou fusion) de deux fichiers triés 95
2.3.5. Algorithmes de mise à jour 98
2.3.5.1. Insertion d'un élément dans un fichier 98
2.3.5.2. Suppression d'un élément dans un fichier 109
2.4. Con c lus ion 117
3. LES VECTEURS 119
3.1. Introduction 119
3.1.1. Notion de vecteur 119
3.1.2. Définitions formelles 121
3.1.2.1. Vecteur 121
3.1.2.2. Sous-vecteur 122
3.1.2.3. Accès à un élément d'un vecteur 123
3.1.2.4. Propriété des vecteurs 123
3.1.2.5. Vecteur ordonné (ou trié) 124
3.1.2.6. Autres notations 125
3.2. Algorithmes traitant un seul vecteur 125
3.2.1. Problème du parcours d'un vecteur 125
3.2.2. Algorithmes d'accès à un élément d'un vecteur 128
3.2.2.1. Recherche séquentielle dans un vecteur 128
3.2.2.2. Recherche dichotomique 136
3.3. Tris d'un vecteur 142
3.3.1. Tri par sélection 142
3.3.1.1. Méthode 142
3.3.1.2. Schémas d'algorithme 144
3.3.1.3. Evaluation du coût de l'algorithme 147
3.3.2. Algorithme de tri par sélection et permutation 149
3.3.2.1. Principe 149
3.3.2.2. Schéma de l'algorithme 150
3.3.2.3. Evaluation du coût de l'algorithme 153
3.3.3. Tri par la méthode des bulles 154
3.3.3.1. Principe 154
3.3.3.2. Schéma de l'algorithme 157
3.3.3.3. Evaluation du coût de l'algorithme 158
3.3.3.4. Optimisation de l'algorithme 158
3.3.3.5. Schéma de l'algorithme optimisé 160
3.3.3.6. Evaluation du coût de l'algorithme 161
3.3.4. Autre algorithme de tri utilisant des permutations: premier tri par insertion 162
3.3.4.1. Principe 162
3.3.4.2. Schéma de l'algorithme 164
3.3.4.3. Evaluation du coût de l'algorithme 164
3.3.5. Algorithme de tri par comptage 166
3.3.5.1. Principe 166
3.3.5.2. Schéma de l'algorithme 168
3.3.5.3. Evaluation de l'algorithme 169
3.4. Algorithmes de mise à jour d'un vecteur 170
3.4.1. Algorithme d'insertion d'un élément dans un vecteur non trié 170
3.3.1.1. Pas de critère d'insertion 170
3.4.1.2. Avec critère d'insertion 170
3.4.2. Algorithme d'insertion d'un élément dans un vecteur trié 171
3.4.2.1. Principe 171
3.4.2.2. Schéma de l'algorithme 171
3.4.2.3. Algorithme de tri par insertion (deuxième version) 176
3.4.3. Suppression d'un élément dans un vecteur trié 177
3.4.4. Algorithme de retassement d'un vecteur comportant un certain nombre de valeurs non significatives 181
3.5. Algorithme de tri par segmentation (Quicksort) 183
3.5.1. Principe 183
3.5.2. Ecriture de la procédure trisegmentation 183
3.5.3. Ecriture de la procédure segmentation 184
3.5.3.1. Première version de l'algorithme de segmentation 186
3.5.3.2. Deuxième version de l'algorithme de segmentation 187
3.5.3.3. Evaluation 188
3.5.4. Evaluation de l'algorithme de tri par segmentation 188