Documente Academic
Documente Profesional
Documente Cultură
Căutarea secvenţială este unul dintre cei mai simpli algoritmi studiaţi. El urmăreşte să verifice
apartenenţa unui element la un şir de elemente de aceeaşi natură, în speţă a unui număr la un şir de
numere.
gasit=0
pentru i=1,n
daca a[i]=x atunci
gasit=1;
daca gasit=1 atunci
scrie „EXISTA”
altfel
scrie „NU EXISTA”
La sfârşitul parcurgerii şirului, indicatorul ne va arăta dacă numărul căutat aparţine sau nu
şirului.
Căutare binară
Algoritmul de căutare binară oferă performanţe mai bune decât algoritmul de căutare
secvenţială. El funcţionează astfel:
s=1
d=n;
gasit=0
cat timp s<=d and !gasit executa
mij=(s+d)/2
daca elementul a[mij] este cel cautat x atunci
gasit=1
altfel
daca elementul a[mij] < decat cel cautat x atunci
d=mij-1
altfel
s=mij+1
daca gasit=1 atunci
scrie „EXISTA”
altfel
scrie „NU EXISTA”
Rezolvați pe caiet:
2. Să se scrie un program care verifică dacă un număr citit de la tastatură se găsește printre
elementele de pe poziții pare ale unui vector x. În vectorul (54,12,75,3,45,44,1) numărul
12 se găsește pe poziția 2 iar 75,sau 22 nu se găsesc pe poziții pare.
a. Folosind căutare liniară – vector nesortat
b. Folosind căutare binară- vectorul inițial ordonat
3. Se dau două șiruri de numere întregi, cu cîte n elemente fiecare. Scrieți un program care
testează dacă elementul maxim al primului șir se găsește în cel de-al doilea șir.
4. Se dau n și m două numere naturale diferite de zero și două mulțimi: mulțimea A cu n
elemente și B cu m elemente. Să se scrie câte un program care calculează:
a. Intersecția celor două mulțimi
b. Reuniunea lor
c. Diferența A-B. și B-A