Vous êtes sur la page 1sur 8

Mohamed BOUDABBOUS Les algorithmes de TRI et de RECHERCHE Cours

Titre Description Remarques


I- Les algorithmes de TRI
1-Objectif Trier un tableau c’est organiser ses valeurs dans ordre bien déterminé
(croissant ou décroissant).

2-Le tri a Bulles Principe:


Le principe de cette méthode est le suivant:
1. Parcourir le tableau deux à deux
2. Comparer chaque case avec la suivante
3. Permuter les valeurs du tableau si c’est nécessaire
4. Répéter les étapes précédentes jusqu’à avoir un tableau
trié
Exemple:
Soit le tableau suivant:
12 24 13 15 10
T

1 2 3 4 5

1- On compare T[1] et T[2]on ne doit pas permuter


12 24 13 15 10
T

1 2 3 4 5
2- On compare T[2]et T[3]on doit permuter
12 24 13 15 10
T

1 2 3 4 5
3- On compare T[3] et T[4]on ne doit pas permuter
12 24 13 15 10
T

1 2 3 4 5
4- On compare T[4] et T[5]on doit permuter
12 24 13 15 10
T

1 2 3 4 5

le tableau n’est pas encore trié, il faut refaire le même traitement jusqu’à
avoir un tableau trié
Décomposition :
On remarque que le
problème est composé des
taches suivantes:
- Saisir N
- Remplir T
- Trier T
- Afficher T

Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 1 sur 8


Mohamed BOUDABBOUS Les algorithmes de TRI et de RECHERCHE Cours

Titre Description Remarques


Analyse du programme principal :
NOM: ACTIVITE
RESULTAT=PROC AFFICHER(N,T)
PROC TRIER(N,T)
PROC REMPLIR(N,T)
PROC SAISIR(N)
FIN ACTIVITE
Analyse de la procédure TRIER :
DEF PROC TRIER(N :ENTIER ;VAR T :TAB)
RESULTAT=T
REPETER
VERIFVRAI
POUR i DE 1 A N-1 FAIRE
SI T[i]>T[i+1] ALORS
VERIFFAUX
AUXT[i]
T[i]T[i+1]
T[i+1]AUX
FIN SI
FIN POUR
NN-1
JUSQU’A VERIF=VRAI
FIN TRIER
3-Le tri par Principe:
Sélection Le principe de cette méthode est le suivant:
1. Parcourir tout le tableau
2. Chercher la position du minimum (PMIN) du tableau à partir
de la case sélectionnée (i)
3. Permuter la case sélectionnée avec la case minimale
Exemple:
Soit le tableau suivant:
T 12 24 15 13 10

1 2 3 4 5
1- i=1 ; chercher la position du minimum (PMIN=5) Permuter T[1]et T[5]
T 12 24 15 13 10

1 2 3 4 5
2- i=2 ; chercher la position du minimum (PMIN=5) Permuter T[2]et T[5]
T 10 24 15 13 12

1 2 3 4 5
3- i=3 ; chercher la position du minimum (PMIN=4) Permuter T[3]et T[4]
T 10 12 15 13 24

1 2 3 4 5
4- i=4 ; chercher la position du minimum (PMIN=4) Rien faire
T 10 12 13 15 24

1 2 3 4 5
Le tableau T est trié

Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 2 sur 8


Mohamed BOUDABBOUS Les algorithmes de TRI et de RECHERCHE Cours

Titre Description Remarques

Décomposition :
On remarque que le problème
est composé des taches
suivantes:
- Saisir N
- Remplir T
- Trier T
- Afficher T
Analyse du programme principal :
Le programme principal, ainsi que les procédures Saisir, remplir, trier et
afficher seront les mêmes que ceux du tri à bulles

Analyse de la procédure TRIER :


DEF PROC TRIER(N :ENTIER ;VAR T :TAB)
RESULTAT=T
POUR i DE 1 A N-1 FAIRE
PMINFN MINIMUM(i,N,T)
SI T[i]<>T[PMIN] ALORS
AUXT[i]
T[i]T[PMIN]
T[PMIN]AUX
FIN SI
FIN POUR
FIN TRIER
Analyse de la fonction MINIMUM :
DEF FN MINIMUM(i,N :ENTIER ; T :TAB) :ENTIER
RESULTAT=MINIMUM
MINIMUMPMIN
[PMIN i ]
POUR j DE i+1 A N FAIRE
SI T[ j ]<T[PMIN] ALORS
PMIN j
FIN SI
FIN POUR
FIN MINIMUM

Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 3 sur 8


Mohamed BOUDABBOUS Les algorithmes de TRI et de RECHERCHE Cours

4-Le tri par Principe:


Insertion Le principe de cette méthode est le suivant:
4. Parcourir tout le tableau à partir de la deuxième case
5. Comparer la case sélectionnée avec celle qui précède
6. Insérer la case sélectionnée à la bonne position dans les cases
qui précèdent.
Exemple:
Soit le tableau suivant:
T 12 24 10 13 11

1 2 3 4 5
1- i=2 ; on remarque que T[2]>T[1] Rien faire
T 12 24 10 13 11

1 2 3 4 5

2- i=3 ; on remarque que T[3]<T[2]  Insérer T[3] à la bonne position

AUX 10
4 3 2 1

T 12 24 10 13 11

1 2 3 4 5
3- i=4 ; chercher la position du minimum (PMIN=4) Permuter T[3]et T[4]

AUX 13
3 2 1

T 10 12 24 13 11

1 2 3 4 5
4- i=5 ; chercher la position du minimum (PMIN=4) Rien faire

AUX 11
5 1
4 3 2

T 10 12 13 24 11

1 2 3 4 5

T devient alors :
T 10 11 12 13 24

1 2 3 4 5

Le tableau T est trié

Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 4 sur 8


Mohamed BOUDABBOUS Les algorithmes de TRI et de RECHERCHE Cours

Décomposition :
On remarque que le problème
est composé des taches
suivantes:
- Saisir N
- Remplir T
- Trier T
- Afficher T
Analyse du programme principal :
Le programme principal, ainsi que les procédures Saisir, remplir, trier et afficher
seront les mêmes que ceux du tri à bulles

Analyse de la procédure TRIER :


DEF PROC TRIER(N :ENTIER ;VAR T :TAB)
RESULTAT=T
POUR i DE 2 A N FAIRE
SI T[i]<T[i-1] ALORS
PROC INSERER(i ,T)
FIN SI
FIN POUR
FIN TRIER
Analyse de la procédure INSERER :
DEF PROC INSERER(i:ENTIER ;VAR T :TAB)
RESULTAT=T
AUX T[i]
TANT QUE (i>1) ET (AUX<T[i-1]) FAIRE
T[i]T[i-1]
ii-1
FIN TANT QUE
T[i]AUX
FIN INSERER
II- Les algorithmes de RECHERCHE
1-Objectif Les algorithmes de recherche permettent généralement la vérification de l’existence
d’une valeur X dans un tableau T.

2-Activité Ecrire une analyse modulaire pour remplir un tableau T par N réels (5≤N≤20)
et vérifie l’existence d’un entier X (saisi au clavier) dans T

Décomposition :
On remarque que le
problème est composé des
taches suivantes:
- Saisir N
- Remplir T
- Saisir X
- Chercher X dans T
- Afficher le résultat

Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 5 sur 8


Mohamed BOUDABBOUS Les algorithmes de TRI et de RECHERCHE Cours

Analyse du programme principal :


NOM: ACTIVITE

RESULTAT=PROC AFFICHER(verif)
Verif FN CHERCHER(X,N,T)
PROC SAISIRX(X)
PROC REMPLIR(N,T)
PROC SAISIR(N)
FIN ACTIVITE

3-La recherche Principe:


séquentielle Le principe de cette méthode est le suivant:
1. Parcourir le tableau T
2. Comparer la case sélectionnée avec X
3. S’arrêter une fois X est trouvé dans T ou on atteint la fin du tableau
Exemple:
Soit le tableau suivant et X=10:
T 12 24 10 13 11

1 2 3 4 5
1- i=1 ; on remarque que T[1]<>X passer à la case suivante

X 10

T 12 24 10 13 11

1 2 3 4 5
2- i=2 ; on remarque que T[2]<>X passer à la case suivante

X 10

T 12 24 10 13 11

1 2 3 4 5
3- i=3 ; on remarque que T[3]=X X existe dans T

X 10

T 12 24 10 13 11

1 2 3 4 5
Analyse de la fonction CHERCHER :
DEF FN CHERCHER(X :REEL ;N :ENTIER ; T :TAB) :BOOLEEN
RESULTAT=CHERCHER
CHERCHER verif
[i0]
REPETER
ii+1
SI T[i]=X ALORS
VerifVRAI
SINON
VerifFAUX
FIN SI
JUSQU’A (VERIF=VRAI) OU (i=N)
FIN CHERCHER
Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 6 sur 8
Mohamed BOUDABBOUS Les algorithmes de TRI et de RECHERCHE Cours

Analyse de la fonction CHERCHER (2ème solution): Analyse de la fonction CHERCHER (3ème solution):
DEF FN CHERCHER(X :REEL ;N :ENTIER ; T :TAB) :BOOLEEN DEF FN CHERCHER(X :REEL ;N :ENTIER ; T :TAB) :BOOLEEN
RESULTAT=CHERCHER RESULTAT=CHERCHER
CHERCHER verif CHERCHER verif
[i0;VerifFaux] [i0]
REPETER REPETER
ii+1 ii+1
SI T[i]=X ALORS Verif T[i]=X
VerifVRAI JUSQU’A (VERIF) OU (i=N)
FIN SI FIN CHERCHER
JUSQU’A (VERIF) OU (i=N)
FIN CHERCHER

4-La recherche Principe:


dichotomique Le principe de cette méthode est le suivant:
1. Fixer le début et la fin du tableau
2. Chercher le milieu
3. Comparer X avec la case au milieu (T[milieu])
i. Si X=T[milieu]X est trouvé
ii. Si X<T[milieu]Chercher X à gauche du milieu de T
iii. Si X>T[milieu]Chercher X à droite du milieu de T
iv. Si début>fin X n’existe pas dans T
Exemple :
Soit le tableau suivant et X=10 :
T 10 14 21 25 30

1 2 3 4 5
1- debut=1 ; fin=5 ; milieu=3
on remarque que X<T[milieu] chercher X dans la partie à gauche

X 14

T 10 14 21 25 30

1 2 3 4 5

Début milieu FIN


2- debut=1 ; fin=2 ; milieu=1
on remarque que X>T[milieu] chercher X dans la partie à droite

X 14

T 10 14 21 25 30

1 2 3 4 5

Début FIN
milieu

Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 7 sur 8


Mohamed BOUDABBOUS Les algorithmes de TRI et de RECHERCHE Cours

3- debut=2 ; fin=2 ; milieu=2


on remarque que X=T[milieu]  X existe dans T

X 14

T 10 14 21 25 30

1 2 3 4 5

Début
fin
milieu

Analyse de la fonction CHERCHER :


DEF FN CHERCHER(X :REEL ;N :ENTIER ; T :TAB) :BOOLEEN
RESULTAT=CHERCHER
CHERCHER verif
[debut1 ; fin N ; verif faux]
REPETER
milieu(debut+fin) DIV 2
SI T[milieu]=X ALORS
VerifVRAI
SINON SI X<T[milieu] ALORS
fin milieu-1
SINON SI X>T[milieu] ALORS
debut milieu+1
FIN SI
JUSQU’A (VERIF=VRAI) OU (debut>fin)
FIN CHERCHER

Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 8 sur 8