0% ont trouvé ce document utile (0 vote)
32 vues21 pages

Algorithmes de tri : méthodes et exemples

Transféré par

khaledamine208
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
32 vues21 pages

Algorithmes de tri : méthodes et exemples

Transféré par

khaledamine208
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 4 :

Algorithmes de tri
 1. Présentation

 2. Tri par sélection

3. Tri à bulles

4. Tri par insertion

 5. Tri par fusion

 6. Tri rapide
Présentation

Le tri de données signifie, les rangées ou les classées dans un


ordre donné et selon un critère déterminé.
Les données peuvent être dans un tableau, dans une liste, dans un
fichier ou dans un autre structure de données.
Si nous considérons un petit tableau, tel que (7, 1, 15, 8, 2), il est
évidemment facile de l'ordonner pour obtenir (1, 2, 7, 8, 15).
Mais s'il s'agit d'un tableau de plusieurs centaines, voire millions
d’éléments, c'est nettement moins évident.
Tri par sélection

Principe:
on recherche le plus petit élément parmi les n éléments et
on l‘échange avec le premier élément ; puis on recherche le
plus petit élément parmi les n-1 derniers éléments de ce
nouveau tableau et on l‘échange avec le deuxième élément ;
plus généralement, a la k-ième étape, on recherche le plus
petit élément parmi les n - k + 1 derniers éléments du
tableau en cours et on l‘échange avec le k-ième élément.
Tri par sélection
Exemple:
trier en ordre croissant le tableau T suivant:

• Première étape: permutation entre le minimum (-20) et le


premier élément de la partie non triée (80)

• Deuxième étape: permutation entre le minimum (8) et le


premier élément de la partie non triée (45)
Tri par sélection
• Troisième étape: permutation entre le minimum (10) et le
premier élément de la partie non triée (12)

• Quatrième étape: permutation entre le minimum (12) et le


premier élément de la partie non triée (45)

• Cinquième étape: permutation entre le minimum (15) et le


premier élément de la partie non triée (80)
Tri par sélection
• Sixième étape: permutation entre le minimum (45) et le
premier élément de la partie non triée (80)

• Septième étape: le minimum (65) est lui-même le premier


élément de la partie non triée (pas de permutation)

• Puisque la partie non trié ne contient qu’un seule élément, le


tri par sélection s’arrête et le résultat final du tri du tableau T
est le suivant:
Tri à bulles

Principe: consiste à parcourir le tableau de gauche à droite en


comparant les élément consécutifs et en les permutant s’il ne sont
pas dans le bon ordre. Au cour d’un parcour du tableau, les plus
grands éléments remontent de proche en proche vers la droite
comme des bulles vers la surface.
On s’arrête dès que l’on détecte que le tableau est trié: si aucune
permutation n’à été faite au cour d’un parcour.
Tri à bulles
Exemple: trier en ordre croissant le tableau T suivant:

Première étape: Le parcours de la partie non triée du tableau T donne


le résultat suivant:

Deuxième étape: Le parcours de la partie non triée du tableau T donne


le résultat suivant:
Tri à bulles
Troisième étape: Le parcours de la partie non triée du tableau T donne
le résultat suivant:

Quatrième étape: Le parcours de la partie non triée du tableau T


donne le résultat suivant:

Cinquième étape: Le parcours de la partie non triée du tableau T


donne le résultat suivant:
Tri à bulles
Sixième étape:
On constate que lors du parcours des éléments de la partie non
triée il n’y a aucun changement. Ce qui signifie que le tableau T
est trié et le résultat final du tri est le suivant:
Tri par insertion

Principe: consiste à insérer un élément du tableau dans une


partie déjà ordonnée de ce tableau, puis à recommencer avec les
éléments qui restent. La partie de départ qui est trié est le premier
élément.
La liste à trier est divisée en deux parties: partie gauche est triée,
et la partie droite est non trie.
À chaque passage, le premier élément de la partie non triée est
introduite dans la partie triée, de telle sorte que cette dernière
reste triée.
Pour une liste de n éléments , n-1 passage sont nécessaires.
Tri par insertion
Exemple: trier en ordre croissant le tableau T suivant:

Première étape: insertion du deuxième élément (45) dans sa


place (1)

Le résultat d’insertion de l’élément 45 est le suivant:


Tri par insertion
Deuxième étape: insertion du troisième élément (12) dans sa
place (1)

Troisième étape: insertion du quatrième élément (8) dans sa


place (1)

Quatrième étape: insertion du cinquième élément (-20) dans sa


place (1)
Tri par insertion
Cinquième étape: insertion du sixième élément (15) dans sa
place (4)

Sixième étape: insertion du septième élément (65) dans sa place


(6) )

Septième étape: insertion du huitième élément (10) dans sa place


(3)
Tri par fusion
Principe: Le tri fusion repose fondamentalement sur l'algorithme
de fusionnement de deux tableaux triés. Il est naturellement décrit
de façon récursive comme suit:
Si le tableau n'a qu'un seul élément alors
il est déjà trié.
Sinon
Séparer le tableau en deux parties à peu près égales.
Trier récursivement les deux parties avec l'algorithme du tri
fusion.
Fusionner les deux tableaux triés en un seul tableau trié.

Algorithme de fusion de deux listes de taille p et q


on compare les deux premiers des deux listes, on prend le plus
petit et on recommence avec les deux listes restantes. On fait un
total de p + q − 1 comparaisons.
Tri par fusion

Exemple: trier en ordre croissant le tableau T suivant:

Les étapes de déroulement du tri fusion sur le tableau T sont


illustrées par le schéma suivant:
Tri par fusion
Tri rapide

On cherche à trier n éléments. On choisit l’un d’entre eux, appelé


pivot, et on partage les éléments en les positionnant par rapport
au pivot : on place à gauche du pivot ceux qui sont inférieurs ou
égaux au pivot, et à droite ceux qui sont supérieurs. La seconde
phase consiste simplement en deux appels récursifs de
l'algorithme, l'un pour la sous-ensemble gauche et l'autre pour la
sous-ensemble droite.
Tri rapide
Exemple: trier en ordre croissant le tableau T suivant:

On choisit comme pivot l’élément au milieu du tableau.


Première étape: placement du pivot (8) dans sa place (2)

Deuxième étape:
Maintien de l’élément -20 dans sa place (1) car le sous-tableau à
gauche est de taille 1 et placement du pivot (12) du sous-tableau à droit
dans sa place (4).
Tri rapide
Troisième étape:
Maintien de l’élément 10 dans sa place (3) car le sous-tableau à gauche
est de taille 1 et placement du pivot (45) du sous-tableau à droit dans sa
place (6).

Quatrième étape:
Maintien de l’élément 15 dans sa place (5) car le sous-tableau à gauche
est de taille 1 et placement du pivot (80) du sous-tableau à droit dans sa
place (8).

Puisque le tableau restant est de taille 1, le tri rapide s’arrête et le


résultat final du tri du tableau T est le suivant :

Vous aimerez peut-être aussi