SlideShare une entreprise Scribd logo
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

Contenu connexe

En vedette

Rapport groupe-travail-sur-apprentissage-en-ligne 3
Rapport groupe-travail-sur-apprentissage-en-ligne 3Rapport groupe-travail-sur-apprentissage-en-ligne 3
Rapport groupe-travail-sur-apprentissage-en-ligne 3Riadh Harizi
 
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
 
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
 

En vedette (20)

Rapport groupe-travail-sur-apprentissage-en-ligne 3
Rapport groupe-travail-sur-apprentissage-en-ligne 3Rapport groupe-travail-sur-apprentissage-en-ligne 3
Rapport groupe-travail-sur-apprentissage-en-ligne 3
 
Cours as dch3
Cours as dch3Cours as dch3
Cours as dch3
 
Cats
CatsCats
Cats
 
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
 
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...
 
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)
 

Dernier

Gestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprisesGestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprisesHamdConseil
 
Webinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsWebinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsTechnologia Formation
 
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Pedago Lu
 
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesEL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesSOLIANAEvelyne
 
Système National de Santé au- Maroc-(2017)."pdf"
Système National de Santé au- Maroc-(2017)."pdf"Système National de Santé au- Maroc-(2017)."pdf"
Système National de Santé au- Maroc-(2017)."pdf"tachakourtzineb
 
Présentation sur les Risques Électriques et Leur Prévention en Algérie
Présentation sur les Risques Électriques et Leur Prévention en AlgériePrésentation sur les Risques Électriques et Leur Prévention en Algérie
Présentation sur les Risques Électriques et Leur Prévention en AlgérieSeifTech
 
Quitter la nuit. pptx
Quitter        la             nuit.   pptxQuitter        la             nuit.   pptx
Quitter la nuit. pptxTxaruka
 
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...zidani2
 
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024frizzole
 
Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?sashaflor182
 
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Technologia Formation
 
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptxMARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptxMartin M Flynn
 

Dernier (12)

Gestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprisesGestion des flux de trésorerie dans les entreprises
Gestion des flux de trésorerie dans les entreprises
 
Webinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsWebinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctions
 
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
 
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesEL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
 
Système National de Santé au- Maroc-(2017)."pdf"
Système National de Santé au- Maroc-(2017)."pdf"Système National de Santé au- Maroc-(2017)."pdf"
Système National de Santé au- Maroc-(2017)."pdf"
 
Présentation sur les Risques Électriques et Leur Prévention en Algérie
Présentation sur les Risques Électriques et Leur Prévention en AlgériePrésentation sur les Risques Électriques et Leur Prévention en Algérie
Présentation sur les Risques Électriques et Leur Prévention en Algérie
 
Quitter la nuit. pptx
Quitter        la             nuit.   pptxQuitter        la             nuit.   pptx
Quitter la nuit. pptx
 
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
Decret-n°19-10-du-23-janvier-2019-reglementant-lexportation-des-déchets-spéci...
 
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
 
Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?
 
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
 
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptxMARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
MARTYRS DE TURQUIE – une histoire de persécution chrétienne en Anatolie.pptx
 

Coursasdch3

  • 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