Académique Documents
Professionnel Documents
Culture Documents
Département de Mathématiques et
Informatique
Filière : MIP – S4
Année universitaire : 2021- 2022
Chapitre 2 : Techniques de
programmation et les listes
2
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri par sélection
3
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri par sélection
4
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri par sélection
N 1
N(N 1)
N i
i 1 2
5
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri à bulles
Tri à bulles
Principe: Le tri à bulles est une variante du tri par sélection. Son principe
consiste à échanger deux éléments consécutifs qui ne sont pas ordonnés
d’un tableau donné. Après ce parcours l’élément le plus grand va se
retrouver en dernier. Nous recommençons l’opération avec les N-1 éléments
du tableau [0, N-1[.
6
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri à bulles
Tri à bulles
Algorithme: Table T de la taille N, tri dans l’ordre croissant. N-1
1. Faire 0 1 2 3 4
2. permute=faux 9 5 4 7 2
3. Pour i ←0 à N-2 faire
4. Si T[i]>T[i+1] alors
5. échanger(T[i], T[i+1])
6. permute=vrai
7. FinSi
8. FinPour
9. Tantque(permute=vrai)
7
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri à bulles
Tri à bulles
Complexité:
Le nombre de comparaisons dans la procédure de tri à bulle est le même que
N 1
N(N 1)
pour le tri par sélection : N i
i 1 2
Le nombre d’échanges quant à lui dépend de l’ordre des éléments dans le
tableau :
dans le meilleur des cas, le tableau initial est trié et il n’y a pas d’échange à
faire ;
en moyenne, on montre que le nombre d’échanges est de :
N(N 1)
4
Dans le pire des cas, les entiers du tableau sont initialement donnés dans
l’ordre décroissant. Dans ce cas, on effectue l’échange à chaque
N(N 1)
comparaison, c’est-à-dire que le nombre d’échanges est alors de : 2
Quoi qu’il en soit, la complexité du tri bulle reste en O(N^2), c’est-à-dire du
même ordre de grandeur que le carré du nombre d’éléments.
8
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri par insertion
la technique utilisée pour trier un paquet de cartes. Ayant i-1 cartes déjà
triées, on essaye de mettre la i de carte à sa place dans le paquet déjà trié.
Ainsi de suite jusqu’à i=N, le nombre de cartes. La variable m représente
l’index de la case où l’élément sera inséré. La variable i représente l’index de
l’élément en cours de traitement.
9
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri par insertion
10
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri par insertion
N(N 1)
N 1
4
11
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri par insertion
Dans le pire des cas, les entiers du tableau sont initialement donnés
dans l’ordre décroissant. Dans ce cas, on effectue l’échange à chaque
comparaison, c’est-à-dire que le nombre d’échanges est alors de
N(N 1)
2
Contrairement aux tris par sélection et bulle qui nécessitent un nombre
constant de comparaisons, le tri par insertion ne conduit qu’à très peu de
comparaisons lorsque le tableau initial est presque en ordre. Ce tri a donc
de meilleures propriétés.
12
Pr . A. Zannou FST d’ Al-Hoceima
Techniques de programmation
• Algorithme de tri : Tri par fusion
13
Pr . A. Zannou FST d’ Al-Hoceima