Informatică, întrebare adresată de thelion300797, 9 ani în urmă

Imi poate arata si mie cineva algoritmul de cautare binara in Pascal?

Răspunsuri la întrebare

Răspuns de Utilizator anonim
1
Se aplica pentru tablouri ordonate, principiul ei constind in injumatatirea repetata a intervalului in care se cauta elementul dorit. Aceasta tehnica are avantajul rapiditatii: numarul de comparatii necesare este cel mult log2(N).
Necesitatea ca tabloul sa fie ordonat implica faptul ca elementele sale au o componenta (cheie) ce apartine unui tip scalar, iar cautarea se face dupa aceasta componenta.
procedure CautareBinara;
    var s,d,m: Integer;
    begin
  s:=1; d:=N;
   {if (x<=a[d]) and (x>=a[s]) then begin}
  repeat
    m:=(s+d) div 2;
     if x>a[m] then s:=m+1
      else d:=m-1
   until (a[m]=x) or (s>d);
   if a[m]=x then {elementul cautat se afla pe pozitia m}
  else {nu exista elementul cautat}
   end;

un exemplu...sper sa-l intelegi



Alte întrebări interesante