Vous êtes sur la page 1sur 4

Bac 2020– 4ème Scientifiques – Enseignant : Sami MEJRI

Chapitre 5 :

Les traitements avancés


Introduction
Il est souvent nécessaire dans certains traitements d’exécuter une opération de tri ou de
recherche dans une liste de valeurs. Nous allons manipuler dans ce chapitre des algorithmes de
certaines méthodes sur ces deux traitements très utiles en algorithmique.

Leçon 1 :

Les méthodes de Tri


Un algorithme de tri est un algorithme qui permet d’organiser une collection d’objets selon un
ordre déterminé (croissant ou décroissant)
Les objets à trier font partie d’un ensemble muni d’une relation d’ordre (exemple : entiers, réels.
Caractères…).

Activité 1
On se propose d’écrire un programme qui permet de trier un tableau de n entier avec
(5 n  25) dans l’ordre croissant.

Tri à bulles
1. Principe

 Comparer les éléments contigus (adjacents), de la liste, deux à deux commençant par
le premier jusqu’à l’avant dernier élément :
 Comparer le ième élément avec son successeur, si ce dernier est plus petit on les permute
(sinon on ne les permute pas) et on passera à la comparaison du ième +1 élément et son
successeur etc. (i allant du 1er élément jusqu’à l’avant dernier élément).
 Répéter cette tâche de comparaison des éléments de la liste de la même façon.
 L’arrêt de cette succession de comparaison est réalisé lorsqu’aucune permutation n’est
réalisée tout au long d’un parcours de la liste.

1
Bac 2020– 4ème Scientifiques – Enseignant : Sami MEJRI

Algorithme de procédure Trier


DEF PROC Trier (var T : tab ; n : entier)
Répéter
permute faux
Pour i de 1 à n-1 faire
Si (T[i]>T[i+1]) alors
PROC Permuter(T[i],T[i+1])
permute  vrai
Fin Si
Fin pour
Jusqu’à (permute =faux)
Fin trier

T.D.O .L

Objet Type Rôle


i entier Compteur
permute booléen Variable booléen
Permuter procédure Permuter deux entiers

Algorithme de procédure Permuter


0) DEF PROC Permuter (var A : entier ; var B : entier)
1) CA
2) AB
3) BC
4) Fin Permuter

T.D.O .L

Objet Type Rôle


C entier Variable auxiliaire

2
Bac 2020– 4ème Scientifiques – Enseignant : Sami MEJRI

Leçon 2 :

Les méthodes de recherche


Introduction
Dans certains traitements, il est souvent nécessaire d’exécuter une opération de recherche dans
une liste. Cette opération consiste à vérifier l’existence ou déterminer la position d’un élément
dans une liste. On va aborder à la suite les deux méthodes de recherche suivantes :
 La méthode de recherche séquentielle
 La méthode de recherche dichotomique
Activité 1
On se propose d’écrire un programme qui permet de chercher un entier v dans un tableau T
de n entiers avec (5 n < 20)

I- La recherche séquentielle

Algorithme de la fonction recherche_Séquentielle


DEF FN Recherche_Séq( T :Tab, n, v : Entier ) : Booléen
i0
Répéter
i i+1
Trouve  T[i] = v
Jusqu’à (Trouve) OU (i = n)
Recherche_Séq  Trouve
Fin Recherche_Séq

1. Définition
La méthode de recherche séquentielle d’un élément dans un tableau consiste à examiner les
éléments de la liste un par un jusqu’à trouver la valeur de l’élément recherché ou atteindre la
fin de la liste.

2. Remarques :
La condition d’arrêt comporte :
 Un test pour vérifier si l’élément cherché est égal à l’élément examiné
 Un test pour vérifier si on atteint la fin de la liste
Cet algorithme effectue au maximum n comparaison

3
Bac 2020– 4ème Scientifiques – Enseignant : Sami MEJRI

II- La recherche dichotomique

Algorithme de la fonction Recherche_Dicho


0) DEF FN Recherche_Dicho (T: Tab ; n, v : entier) :booléen
1) d  1
f n
Répéter
m(d+f) div 2
Si v < T[m] alors
fm-1
Sinon
dm+1
Jusqu’à (T[m]=v) ou (d>f)

2) Recherche_Dicho  T[m]=v
3) Fin recherche_Dicho

1. Définition

Cette méthode de recherche est applicable uniquement sur une liste préalablement triée. Le
principe de cette méthode consiste à réduire à chaque fois l’espace de recherche sur la moitié
de la liste. Le choix de l’une des deux parties dans laquelle se trouve la valeur cherchée est le
résultat de l’évaluation d’un test. A chaque évaluation, on coupera l’espace de recherche en
deux parties égales (à un élément près) de part et d’autre de l’élément médiane.

2. Structure générale
{Initialisation}
Répéter
Tester la position de l’élément cherché et changer les bornes de l’intervalle de
recherche
Jusqu’à (Condition(s) d’arrêt)

3. Remarques :

La condition d’arrêt comporte :


 Un test pour vérifier si l’élément cherché est égal à l’élément du milieu de l’intervalle
 Un test pour vérifier si la borne gauche de l’intervalle devient supérieure à la borne
droite
 La recherche dichotomique est plus rapide que la recherche séquentielle, mais il faut
toujours se rappeler que cette technique ne peut être utilisée qu’avec une série de
données déjà triée.

Vous aimerez peut-être aussi