Professional Documents
Culture Documents
com
Algorithmes de tri (1/2)
les tris internes qui trient les lments dans la structure qui les contient
(tableau, liste, ...) ou au pire utilise une structure annexe de mme type
les tris externes utiliss lorsque la quantit d'lments trier est telle qu'ils ne
tiennent pas en mmoire vive et qu'il faut stocker des lments dans des
fichiers ou des tables de bases de donnes
www.cours-ofppt.com
Tri bulle (1/7)
j=1
j=2
j=3
j=4
j=5
j=6
www.cours-ofppt.com
Tri bulle (3/7)
Le tri bulle est en place et l'algorithme donn ici est stable (il
serait instable si on utilisait au lieu de >)
Une amlioration possible du tri bulle consiste utiliser une
variable boolenne drapeau qui permet de stopper le tri si plus
aucune permutation n'a lieu
www.cours-ofppt.com
Tri bulle (5/7)
Remarques :
www.cours-ofppt.com
Tri bulle (7/7)
10
www.cours-ofppt.com
Tri slection (2/3)
Le tri slection est en place et l'algorithme donn ici est stable (il
serait instable si on utilisait au lieu de >)
Le tri slection peut tre amlior en positionnant chaque
parcours du tableau le plus grand et le plus petit lment, selon le
mme principe que celui utilis pour le tri Boustrophdon.
dans ce cas, on fera 2 fois moins de tours de boucle tantque (on trie 2
lments chaque tour) mais chaque tour, on effectuera plus
d'oprations, la complexit reste donc quadratique mais s'amliore
11
12
www.cours-ofppt.com
Tri insertion (1/2)
13
au pire, si le tableau est tri en ordre inverse, chaque tour de la boucle pour,
on fait i tours de boucle tantque. La complexit au pire sera donc
proportionnelle 1+2+...+(n-1) =n*(n-1)/2 et donc en O(n2).
au mieux, si le tableau est dj tri, on fera une seule comparaison par
lment, sans permutation, sauf pour le premier lment. La complexit au
mieux est donc proportionnelle (n-1) et linaire.
en moyenne, chaque lment sera insr au milieu de ceux dj tris, le
nombre de comparaisons sera donc de 0+1+3/2+...+n/2 soit n*(n+1)/4 et la
complexit moyenne est donc en O(n2).
Le tri par insertion est en place et l'algorithme donn ici est stable
(il serait instable si on utilisait au lieu de >)
Remarque : le tri insertion est donc environ 2 fois plus rapide que le tri slection
14
www.cours-ofppt.com
Tris quadratiques
15
16
www.cours-ofppt.com
Tri rapide (2/5)
17
i=2 et pivot=1
i=4 et pivot=2
18
www.cours-ofppt.com
Tri rapide (4/5)
Le tri rapide n'est pas optimum dans tous les cas, mais en
moyenne, il est bien plus rapide que les tris quadratiques
Le tri rapide est en place, mais l'algorithme donn ici n'est pas
stable
Licence Informatique - Semestre 2 - Algorithmique et Programmation
19
quand le tableau n'est pas un peu tri , on peut dcouvrir l'lment mdian
(tel que la moiti des lments du tableau sont plus petits, et la moiti plus
grands, 1 prs) avec un algorithme linaire. Cette amlioration assure donc
une complexit au pire en O(n*log(n)) au tri rapide.
quand les parties trier sont petites, il peut tre plus rapide d'utiliser un tri par
slection pour les trier car ce tri est plus rapide sur de petits tableaux
...
Licence Informatique - Semestre 2 - Algorithmique et Programmation
20
www.cours-ofppt.com
Tri fusion (1/3)
une fonction qui fusionne deux sections contigues du tableau. Le plus simple
est d'utiliser des tableaux supplmentaires (mais il est possible de faire du tri
fusion en place).
une fonction de tri proprement dit qui lance des appels rcursifs sur les sousparties puis appelle la fonction prcdente
21
22
www.cours-ofppt.com
Tri fusion (3/3)
Complexit du tri-fusion :
23
Tris quasilinaires
Comparaison des tris quasilinaires sur des tableaux d'entiers gnrs
alatoirement
24