PSD 1ère MI 2015/2016 Chapitre 2 Les algorithmes de tri et de recherche
21
II.3. La méthode de tri par insertion
L’algorithme de tri par insertion repose sur le même principe que si on veut ordonner un
ensemble de dossiers de patients. Ayant i-1 éléments déjà triées, on essaye de mettre le ième
élément à sa place dans le tableau déjà trié. Ainsi de suite jusqu’à i=N.
Exemple : [20, 6, 8, 1, 5]
[20, 6, 8, 1, 5] ; [6, 20, 8, 1, 5] ; [6, 8, 20, 1, 5] ;[1, 6, 8, 20, 5] ; [1, 5, 6, 8, 20]
Algorithme
Pour i allant de 2 à N faire
J i ;
temp T[i] ;
TQ (T[j-1]>temp) et (j>1) faire
T[j] T[j-1] ;
J j-1 ;
finTQ
T[j] temp ;
Finpour
Exercice1 : écrire un algorithme qui permet de lire un tableau de noms, puis le tri
alphabétiquement et l’affiche en utilisant :
- Une fonction qui retourne l’indice du plus petit élément dans un tableau à partir d’un
indice donné ;
- Une procédure qui permet d’échanger deux éléments dans un tableau
- Une procédure tri_selec permettant de trier un tableau de chaîne de caractères (tri par
sélection)
Exercice2 : le même exercice avec le tri à bulles et le tri par insertion en précisant les
procédures et / fonctions nécessaires.
III. Recherche dans un tableau trié (recherche dichotomique)
Exemple : considérons un dictionnaire dont chaque mot est classé dans une case d’un
tableau. Imaginons que nous ayons 40000 mots. Nous cherchons ensuite si un mot est présent
ou pas dans le dictionnaire. La première technique consiste à parcourir tout le tableau et à
comparer les éléments avec le mot à chercher.
Trouve faux;
I 1 ;
TQ (I<=N) et (non trouve) faire