
Informatique  TD/ TP 4.1  Tri par insertion 
Lycée Jules Ferry Cannes    Page 2 sur 2  TSI2 
2  Tri par insertion 
On donne les algorithmes suivant  
Algorithme Tri par insertion 
Entrées : liste T (tableau de n nombres; n≥ 2) 
Sortie : liste T triée par ordre croissant 
Pour i de 1 à n-1 faire 
    x←T[i] 
    j← i 
    Tant que j> 0 et T[j-1] > x faire 
        T[j] ←T[j-1] 
         j← j-1 
    Fin Tant que 
    T[j] ←x 
Fin Pour 
Renvoyer T 
Fin de Tri par insertion 
def Tri_insertion (T): 
# Entrée  : liste T de n nombres (n≥ 2) 
# Sortie : liste T triée par ordre croissant 
    n = len(T) 
    for i in range(1,n):  # tri de T 
        x = T[i] 
        j = i  # j : position triée pour x 
        while j>0 and T[j-1] > x : 
            T[j] = T[j-1] 
             j = j - 1 
        T[j] = x 
    return T 
5)  Convertir l'algorithme donné sous forme de pseudo code en une fonction Tri_insertion en python. 
6)  Compléter la description suivante en décrivant la dernière itération. 
partant d’un tableau t de taille n ≥ 2 : 
on insère t[1] dans le sous-tableau t[0 : 1] = [t[0]] 
on insère t[2] dans le sous-tableau t[0 : 2] = [t[0], t[1]] (qui est trié) 
… 
on insère t[n-1] dans le sous-tableau t[0:n-2] = [t[0], t[1]…t[n-2]] qui est trié 
7)  Compléter le tableau suivant qui décrit l'évolution du tri par l'algorithme Tri_insertion. 
Sur le tableau t = [5; 2; 3; 1; 4], l’algorithme est : 
t=[5,2,3,1,4]   
  On insère t[1] = 2 dans t[0 : 1] 
t=[2,5,3,1,4]   
  On insère t[2] = 3 dans t[0 : 2] 
t=[2,3,5,1,4]   
  On insère t[3] = 1 dans t[0 : 3]
t=[1, 2,3,5,4]
 
  On insère t[4] = 4 dans t[0 : 4]
t=[1,2,3,4,5]   
8)  Compléter le tableau suivant décrivant l'effet de l'algorithme. Préciser la séquence de l'algorithme 
qui produit les décalages vers la droite. 
Soit t = [7, 10, 21, 31, 45, 11, 8, 1] (de longueur n = 8). 
Pour insérer la valeur t[5] = 11 dans t[0 : 5] = [7, 10, 21, 31, 45]. 
On stocke la valeur 11 ailleurs  t = [7, 10, 21, 31, 45,11, 8,1] 
On décale la valeur 45 à droite  t = [7, 10, 21, 31, 45,45, 8, 1] 
On décale la valeur … à droite 
t = [7, 10, 21, 31, 31, 45, 8, 1]
On décale la valeur …. à droite
t = [7, 10, 21, 21, 31, 45, 8, 1]
On place la valeur…. 
t = [7, 10, 11, 21, 31, 45, 8, 1]