0% ont trouvé ce document utile (0 vote)
96 vues20 pages

Cours7 MIP

Le document présente différents algorithmes de tri comme le tri par sélection, le tri à bulle et le tri par insertion. Il décrit leur principe et donne des exemples pour illustrer leur fonctionnement.

Transféré par

hanane.elhafidi.23
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)
96 vues20 pages

Cours7 MIP

Le document présente différents algorithmes de tri comme le tri par sélection, le tri à bulle et le tri par insertion. Il décrit leur principe et donne des exemples pour illustrer leur fonctionnement.

Transféré par

hanane.elhafidi.23
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

Algorithmique et Python

Pr. GABLI MOHAMMED


medgabli@yahoo

MIP + Actuariat
FS-Oujda

2023-2024
Algorithmique et Python
PLAN
• Introduction à l'algorithmique
• Instructions élémentaires (Variable, E/S, …)
• Structures conditionnelles
• Structures répétitives
• Tableau
• Algorithmes de tri et de recherche
• Initiation au langage Python
29/10/2023 GABLI - 2023 2
Cours, TD et TP

Voir les deux sites:


1. [Link]
2. [Link]
Les tableaux
Rappel
Algorithme: Note
Variables: i : Entier
Tableau Note[12]: Double
Debut
Pour i ← 0 à 11 Faire
Ecrire (Entrer une note);
Lire ( Note[i] )

FinPour
Fin

GABLI - 2011 4
Les tableaux
Rappel (chercher le plus petit élément)
Algorithme: PlusPetitElement
Variables: i, min, posMin : Entier
Tableau T[7]: entier
Debut
min ← T[0] ;
posMin ← 0 ;
Pour i ← 1 à 6 Faire
Si (min > T[i]) Alors
min = T[i] ;
posMin = i ;
FinSi
FinPour
Fin

GABLI - 2011 5
Algorithme d’échange (Rappel)

La partie de l’algorithme qui permute (échange) les


deux éléments: t[i] et t[j]

temp ← t[i]
t[i] ← t[j]
t[j] ← temp

GABLI - 2011 6
Algorithmes de tri

• Lorsque le type des éléments d’un tableau possède


un ordre total, on peut les ranger en ordre croissant
ou décroissant; on dit qu’on a trié le tableau;
• Il existe plusieurs méthodes de tri qui se
différencient par leur complexité d’exécution et leur
complexité de compréhension pour le
programmeur.
• Dans ce cours, on étudiera le tri par sélection, le tri
à bulle et le tri par insertion.

GABLI - 2011 7
Tri par sélection

Principe

Pour chaque entier j (j de 0 à n-1) :


• parcourir les éléments T [j], T [j + 1], . . ., T [n-1],
• retenir l’indice k du plus petit élément.
• placer au rang j le plus petit élément (en
échangeant T [j] et T [k]).

GABLI - 2011 8
Tri par sélection
Exemple

5 3 7 2 8 1 9

1 3 7 2 8 5 9

1 2 7 3 8 5 9

1 2 3 7 8 5 9
1 2 3 5 8 7 9
1 2 3 5 7 8 9
1 2 3 5 7 8 9

GABLI - 2011 9
Tri par sélection
Algorithme: Tri par sélection
Variables: i, j, indmin : Entier
Tableau T[n]: entier
Debut
Pour i de 0 à n – 2 Faire
indmin ← i
Pour j de i + 1 à n - 1 Faire
Si t[j] < t[indmin] Alors
indmin ← j
FinSi
FinPour
Si indmin ≠ i, Alors
échanger t[i] et t[indmin]
FinSi
FinPour
Fin
GABLI - 2011 10
Tri par sélection
(suite)

avec échanger t[i] et t[indmin]:

temp ← t[i]
t[i] ← t[indmin]
t[indmin] ← temp

Remarque
Le tri par sélection est un algorithme simple, mais il est
considéré comme inefficace à cause de sa complexité élevée
(temps d’exécution, vous verrez la complexité plus loin).

GABLI - 2011 11
Tri à bulle

Principe

• Le tri à bulle consiste à parcourir le tableau en


comparant les éléments côte à côte et en les
permutant s'ils ne sont pas dans le bon ordre.
• On s'arrête dès que l'on détecte que le tableau est
trié : si aucune permutation n'a été faite au cours
d'une passe.

GABLI - 2011 12
Tri à bulle
Exemple
5 3 7 2 8

3 5 7 2 8

3 5 7 2 8

3 5 2 7 8

3 5 2 7 8

On a fini la première passe, le tableau n’est pas


encore trié, donc on passe à la deuxième passe.

GABLI - 2011 13
Tri à bulle
Exemple
3 5 2 7 8

3 5 2 7 8

3 2 5 7 8

3 2 5 7 8

3 2 5 7 8

On a fini la deuxième passe, le tableau n’est pas


encore trié, donc on passe à la troisième passe.

GABLI - 2011 14
Tri à bulle (Exemple)

3 2 5 7 8

2 3 5 7 8

2 3 5 7 8

2 3 5 7 8

2 3 5 7 8

Le tableau est maintenant trié, donc on s’arrète.

GABLI - 2011 15
Tri à bulle (premier algorithme)
Algorithme: Tri_a_bulle
Variables: i, j : Entier
Tableau T[n]: entier
Debut
Pour i de n−1 à 1 Faire
Pour j de 0 à i − 1 Faire
Si T [j] > T [j + 1] Alors
échanger T [j] et T [j + 1]
FinSi
FinPour
FinPour
Fin

Remarque: cet algorithme finit le nombre d’itérations même si


le tableau est trié.
GABLI - 2011 16
Tri à bulle (deuxième algorithme)
Algorithme: Tri_a_bulle
Variables: i, j, passage : Entier
permut: booléan
Tableau T[n]: entier
Debut
passage ← 0
Répéter
permut ← FAUX
Pour i de 0 à n-2-passage Faire
Si T[i] > T[i+1] Alors
echanger T[i] et T[i+1]
permut ← VRAI
FinSi
FinPour
passage ← passage + 1
Jusqu’à permut = FAUX
Fin GABLI - 2011 17
Tri par insertion

Principe

• Ordonner les deux premiers éléments du tableau


• Insérer le 3ème élément de manière à ce que les 3
premiers éléments soient triés
• Insérer le 4ème élément à “sa” place pour que les 4
premiers éléments soient triés
• ...
• Insérer le nème élément à sa place.
Remarque
A la fin de la ième itération, les i premiers éléments sont
triés et rangés au début du tableau.
GABLI - 2011 18
Tri par insertion (Exemple)

5 3 7 2 8

3 5 7 2 8

3 5 7 2 8

2 3 5 7 8

3 5 2 7 8

L’insertion du 2 se fait en comparant d’abord 2


et 7, puis 2 et 5 et enfin 2 et 3.

GABLI - 2011 19
Tri par insertion
Algorithme: Tri_par_insertion
Variables: i, j, x : Entier
Tableau T[n]: entier
Debut
pour i de 1 à n-1 Faire
# mémoriser T[i] dans x
x ← T[i]
# décaler les éléments T[0]..T[i-1] qui sont plus grands
que x, en partant de T[i-1]
j←i
Tant que ( j > 0 et T[j - 1] > x) Alors
T[j] ← T[j - 1]
j←j-1
FinTQ
T[j] ← x
FinPour
Fin
GABLI - 2011 20

Vous aimerez peut-être aussi