SlideShare uma empresa Scribd logo
1 de 5
Chapitre 3 : Les algorithmes de tri


I. Introduction
Il existe plusieurs méthodes de tri qui se différencient par leur temps d’exécution.
Dans ce support de cours, nous nous limitons aux tri à bulle, tri par sélection et tri par insertion.
II. Le tri à bulles
Principe :
Le principe du tri bulle est de comparer deux à deux les éléments e1 et e2 consécutifs d'un tableau et d'effecteur une permutation
si e1 > e2. On continue de trier les éléments du tableau jusqu'à ce qu'il n'y ait plus de permutation.
Algorithme :
PRODECURE Tri_bulle (var T : vecteur, n : entier)
 VARIABLE
permut : Booleen
Aux, i : Entier

Debut
  REPETER
    permut  FAUX
     POUR i de 1 à n-1 FAIRE
      SI T[i] > T[i+1] ALORS
     aux  T[i]
     T[i]  T[i+1]
      T[i+1]  aux
      permut  VRAI
     FIN SI
    FIN POUR
Jusqu'à (permut = FAUX)
FIN                                                                                                                                  1
Chapitre 3 : Les algorithmes de tri

III. Le tri par sélection
Principe :
Le principe du tri par sélection/échange (ou tri par extraction) est d'aller chercher le plus petit élément du vecteur pour le mettre
en premier, puis de repartir du second élément et d'aller chercher le plus petit élément du vecteur pour le mettre en second, etc...
Exemple :



Premier passage : le plus petit élément est à la position 3, on permute la valeur T[3] et la valeur T[1]. Le tableau devient :



Deuxième passage : le plus petit élément est à la position 2, on garde la valeur T[2] à sa position :




Troisième passage : le plus petit élément est à la position 5, on permute la valeur T[5] et la valeur T[3]. Le tableau devient :



Quatrième passage : le plus petit élément est à la position 5, on permute la valeur T[5] et la valeur T[4]. Le tableau devient :




                                                                                                                                        2
Chapitre 3 : Les algorithmes de tri

Algorithme :
PRODECURE Tri_Selection (var T : vecteur, n : entier)
Variable
indice_min, i,j : entier
Debut
pour i de 1 à n-1 FAIRE
  indice_min  i
  POUR j de i+1 à n FAIRE
     si T[j]< T[indice_min]alors
      indice_min j
    finsi
  Finour
SI( T[i] # T[indice_min])
       aux  T[i]
       T[i]  T[indice_min]
        T[indice_min]  aux
Finour
FIN




                                                        3
Chapitre 3 : Les algorithmes de tri

IV. Le tri par insertion
Principe :
Le principe du tri par insertion est d'insérer à la n-ième itération le n-ième élément à la bonne place dans le sous tableau de 1 à n-1
qui est déjà trié.
Exemple :
Dans cet exemple, nous voulons trier un tableau de 5 éléments dans l’ordre croissant. La technique du tri par sélection est la
suivante : on met en bonne position l’élément numéro 2 dans la partie gauche du tableau qui est déjà trié. En passe ensuite à
l’élément 3 et ainsi de suite jusqu’au dernier. Par exemple, si l’on part de :




                                                                                                                                          4
Chapitre 1 : Les algorithmes de recherche et de tri

Algorithme
PRODECURE Tri_Insertion (var T : vecteur, n : entier)
 Variable
 v, i,j : entier
debut
pour i de 2 à n faire
v T [i]
ji
tantque(T [j-1]>v et (j>1)) faire
T [j] T [j-1]
jj-1
fintantque
T [j]v
finpour
Fin




                                                                    5

Mais conteúdo relacionado

Destaque

Ch5 Algorthmique Avancée - Algorithme de Tri
Ch5 Algorthmique Avancée - Algorithme de TriCh5 Algorthmique Avancée - Algorithme de Tri
Ch5 Algorthmique Avancée - Algorithme de Trilotfibenromdhane
 
Ch1 Algorthmique Avancée - Rappel & Notions de Base
Ch1 Algorthmique Avancée - Rappel & Notions de BaseCh1 Algorthmique Avancée - Rappel & Notions de Base
Ch1 Algorthmique Avancée - Rappel & Notions de Baselotfibenromdhane
 
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationLe livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationChingongou ­
 
M01 Metier et Formation
M01 Metier et FormationM01 Metier et Formation
M01 Metier et FormationChingongou ­
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)salah fenni
 
Cours access
Cours accessCours access
Cours accessmsodjinou
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de triSana Aroussi
 
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...ATPENSC-Group
 
Reférejntiel des ressources
Reférejntiel des ressourcesReférejntiel des ressources
Reférejntiel des ressourcesATPENSC-Group
 
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...ATPENSC-Group
 
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...ATPENSC-Group
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 

Destaque (20)

Coursasdch3
Coursasdch3Coursasdch3
Coursasdch3
 
Cours compilation
Cours compilationCours compilation
Cours compilation
 
Ch5 Algorthmique Avancée - Algorithme de Tri
Ch5 Algorthmique Avancée - Algorithme de TriCh5 Algorthmique Avancée - Algorithme de Tri
Ch5 Algorthmique Avancée - Algorithme de Tri
 
Ch1 Algorthmique Avancée - Rappel & Notions de Base
Ch1 Algorthmique Avancée - Rappel & Notions de BaseCh1 Algorthmique Avancée - Rappel & Notions de Base
Ch1 Algorthmique Avancée - Rappel & Notions de Base
 
Algo tri
Algo triAlgo tri
Algo tri
 
GP TDI
GP TDIGP TDI
GP TDI
 
TP 3 ACCESS
TP 3 ACCESSTP 3 ACCESS
TP 3 ACCESS
 
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmationLe livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
Le livre du_c_pour_les_vrais_d%c3%a9butants_en_programmation
 
M01 Metier et Formation
M01 Metier et FormationM01 Metier et Formation
M01 Metier et Formation
 
TP 2 ACCESS
TP 2 ACCESSTP 2 ACCESS
TP 2 ACCESS
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)
 
Cours access
Cours accessCours access
Cours access
 
TP 1 ACCESS
TP 1 ACCESSTP 1 ACCESS
TP 1 ACCESS
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 2 de préparation probatoire (littéraire et scientifique) du Camer...
 
Reférejntiel des ressources
Reférejntiel des ressourcesReférejntiel des ressources
Reférejntiel des ressources
 
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
 
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 

Cours as dch3

  • 1. Chapitre 3 : Les algorithmes de tri I. Introduction Il existe plusieurs méthodes de tri qui se différencient par leur temps d’exécution. Dans ce support de cours, nous nous limitons aux tri à bulle, tri par sélection et tri par insertion. II. Le tri à bulles Principe : Le principe du tri bulle est de comparer deux à deux les éléments e1 et e2 consécutifs d'un tableau et d'effecteur une permutation si e1 > e2. On continue de trier les éléments du tableau jusqu'à ce qu'il n'y ait plus de permutation. Algorithme : PRODECURE Tri_bulle (var T : vecteur, n : entier) VARIABLE permut : Booleen Aux, i : Entier Debut REPETER permut  FAUX POUR i de 1 à n-1 FAIRE SI T[i] > T[i+1] ALORS aux  T[i] T[i]  T[i+1] T[i+1]  aux permut  VRAI FIN SI FIN POUR Jusqu'à (permut = FAUX) FIN 1
  • 2. Chapitre 3 : Les algorithmes de tri III. Le tri par sélection Principe : Le principe du tri par sélection/échange (ou tri par extraction) est d'aller chercher le plus petit élément du vecteur pour le mettre en premier, puis de repartir du second élément et d'aller chercher le plus petit élément du vecteur pour le mettre en second, etc... Exemple : Premier passage : le plus petit élément est à la position 3, on permute la valeur T[3] et la valeur T[1]. Le tableau devient : Deuxième passage : le plus petit élément est à la position 2, on garde la valeur T[2] à sa position : Troisième passage : le plus petit élément est à la position 5, on permute la valeur T[5] et la valeur T[3]. Le tableau devient : Quatrième passage : le plus petit élément est à la position 5, on permute la valeur T[5] et la valeur T[4]. Le tableau devient : 2
  • 3. Chapitre 3 : Les algorithmes de tri Algorithme : PRODECURE Tri_Selection (var T : vecteur, n : entier) Variable indice_min, i,j : entier Debut pour i de 1 à n-1 FAIRE indice_min  i POUR j de i+1 à n FAIRE si T[j]< T[indice_min]alors indice_min j finsi Finour SI( T[i] # T[indice_min]) aux  T[i] T[i]  T[indice_min] T[indice_min]  aux Finour FIN 3
  • 4. Chapitre 3 : Les algorithmes de tri IV. Le tri par insertion Principe : Le principe du tri par insertion est d'insérer à la n-ième itération le n-ième élément à la bonne place dans le sous tableau de 1 à n-1 qui est déjà trié. Exemple : Dans cet exemple, nous voulons trier un tableau de 5 éléments dans l’ordre croissant. La technique du tri par sélection est la suivante : on met en bonne position l’élément numéro 2 dans la partie gauche du tableau qui est déjà trié. En passe ensuite à l’élément 3 et ainsi de suite jusqu’au dernier. Par exemple, si l’on part de : 4
  • 5. Chapitre 1 : Les algorithmes de recherche et de tri Algorithme PRODECURE Tri_Insertion (var T : vecteur, n : entier) Variable v, i,j : entier debut pour i de 2 à n faire v T [i] ji tantque(T [j-1]>v et (j>1)) faire T [j] T [j-1] jj-1 fintantque T [j]v finpour Fin 5