Căutarea este o operație fundamentală în informatică, prin care se determină dacă un element (cheie) se află într-o mulțime de date și, eventual, poziția acestuia. În cadrul examenului de Bacalaureat la Informatică, sunt studiate două metode principale de căutare: căutarea secvențială (liniară) și căutarea binară (logaritmică).
Căutarea secvențială este cea mai simplă: se parcurge secvențial fiecare element al unei structuri de date (de obicei un vector unidimensional) și se compară cu cheia căutată. Algoritmul se oprește atunci când găsește elementul (returnând poziția) sau când ajunge la capătul structurii (returnând un indicator de negăsit, de exemplu -1). Complexitatea sa temporală este O(n) în cel mai rău caz (când elementul nu există sau este ultimul).
Este utilă pentru vectori nesortati sau pentru seturi mici de date.
Căutarea binară se aplică doar pe mulțimi sortate (crescător sau descrescător). Ideea de bază este de a împărți repetat intervalul de căutare în două părți egale, comparând cheia cu elementul din mijloc. Dacă cheia este mai mică, se continuă căutarea în jumătatea stângă; dacă este mai mare, în jumătatea dreaptă.
Procesul se repetă până când cheia este găsită sau intervalul rămâne gol. Complexitatea este O(log₂ n), ceea ce o face extrem de eficientă pentru volume mari de date. Este important ca vectorul să fie sortat în prealabil; altfel, rezultatul este incorect.
Exemple de utilizare în Bacalaureat:
Aspecte pedagogice:
La Bacalaureat, se cere adesea scrierea unui program complet în C/C++ sau Pascal, iar evaluarea pune accent pe corectitudinea logicii, tratarea tuturor cazurilor și eficiența algoritmului.
Concepte cheie: Căutare secvențială: parcurgere liniară, complexitate O(n), se aplică pe orice vector (sortat sau nu)., Căutare binară: divizare repetată a intervalului, complexitate O(log n), necesită vector sortat., Implementare iterativă și recursivă a căutării binare., Condiții de oprire la căutarea binară (stânga > dreapta)., Atenție la indexarea de la 0 sau 1 și la tipul datelor.
Vrei exerciții pe lecția asta + AI care te ajută pas cu pas?
Cont gratuit — 20 întrebări AI/zi, exerciții nelimitate.