Home Cours algorithmique Les algorithmes de recherche dans un tableau Recherche dichotomique : version itérative
Bookmark and Share

Liens sponsorisés

Login Form



Recherche dichotomique : version itérative Print E-mail
Written by Administrator   

L'algorithme de recherche séquentielle n'utilise comme information que le test d'égalité sur les valeurs des cases du tableau, avec deux résultats possibles : égalité, non-égalité. Supposons maintenant que les valeurs d'une table soient rangées par ordre croissant. On peut alors réaliser un test avec trois résultats : égalité, inférieur, supérieur. L'idée est de comparer la valeur recherchée avec la valeur du milieu du tableau ; si la elle est plus petite, on continue la recherche dans la première partie du tableau ; si elle est plus grande, on continue dans la seconde partie du tableau

En Pascal :

program search;
const
    max =100;
var
    t:array[0..max-1] of integer;
    x,a,b,indice,i : integer;

begin
readln(x);
for i:=0 to max-1 do
    readln(t[i]);
a:=0;
b:=max-1;
indice:=(a+b) div 2;
While (t[indice]<>x ) do
begin
    if x<t[indice] then  b:=indice-1
    else
    a:=indice+1;
    indice:=(a+b) div 2
end;
writeln(indice);
end.

 

 

Liens sponsorisés