Vous êtes sur la page 1sur 2

Filières: GI, AAE, APIB.

Année Académique: 2012-2013


Resp. : Chakir Loqman

TP5 : Programmation C

1 Algorithmes de recherche
Dans ce TP, vous allez programmer des algorithmes de recherche. Le premier est une simple recherche
linéaire. Le second, plus efficace, suit la méthode dichotomique.
EXERCICE 1
La recherche linéaire consiste à rechercher séquentiellement, c’est-à-dire, en parcourant les éléments de la
liste un à un en partant du premier.
Ecrire un programme qui réalise la recherche linéaire d’une valeur dans un tableau.

EXERCICE 2
La recherche dichotomique est une méthode très efficace. Le principe de l’algorithme est de diviser l’espace
de recherche de l’élément en deux espaces de même taille. L’élément recherché est dans l’un des deux
espaces. La recherche se poursuit dans l’espace qui contient l’élément recherché selon la même méthode.
Cette méthode impose que les éléments soient ordonnés, et que l’accès aux éléments soit direct (sinon la
méthode perd toute son efficacité).
Une première version de l’algorithme de recherche dichotomique est la suivante:

Algorithme: RechercheDichotomique
val,haut,bas,milieu,n : entiers;
Tab : tableau[n] d’entiers;
trouve : entier;
Début
Lire(val);
trouve ← 0; bas← 1; haut← n;
Tant que (trouve=0 et bas ≤ haut) faire
milieu ← (bas+haut)/2;
Si (Tab[milieu]=val) Alors
trouve←1;
Sinon
Si (Tab[milieu] < val) Alors
bas←milieu+1;
Sinon
haut← milieu-1;
Fin Si
Fin Si
Fait
Si (trouve=1) Alors
Ecrire(”elt trouve pos:”,milieu);
Sinon
Ecrire(”elt non trouve”);
Fin Si
Fin

Programmez en C et testez l’algorithme de recherche dichotomique.

C. LOQMAN 1 EST Meknès


2 Les algorithmes de Tri
EXERCICE 1(Tri par selection)
L’un des algorithmes de tri les plus simples procède de la manière suivante : on commence par rechercher
l’élément de plus petit valeur du tableau pour l’échanger avec celui en première position, puis on recherche
l’élément ayant la deuxième plus petite valeur pour l’échanger avec celui en deuxième position et l’on
continue ainsi jusqu’à ce que le tableau soit entièrement trié. Cette méthode porte le nom de tri par
selection car elle procède à la sélection successive de l’élément parmi ceux restant.

1. Écrire le fonctionnement de l’algorithme sur l’exemple T = [5; 2; 4; 6; 1; 3].

2. Programmez en C et testez l’algorithme de Tri par selection.

EXERCICE 2 (Tri par insertion)


Le tri par insertion s’inspire de la manière dont la plupart des gens trient une poignée de cartes, au bridge
ou au tarot. On commence avec une main gauche vide et les cartes face contre table. On retire ensuite du
paquet une carte à la fois, pour l’insérer à sa bonne place dans la main gauche. Pour trouver cette bonne
place, on la compare avec chacune des cartes déjà présentes dans la main gauche, de droite à gauche.

1. Écrire le fonctionnement de l’algorithme sur l’exemple T = [5; 2; 4; 6; 1; 3].

2. Programmez en C et testez l’algorithme de Tri par insertion.

EXERCICE 3
Ecrire un programme qui réalise la recherche dichotomique d’une valeur dans un tableau non trier.
Remarque:
Trier le tableau avant d’appliquer la recherche dichotomique.

C. LOQMAN 2 EST Meknès

Vous aimerez peut-être aussi