📘 Lecție de C++ pentru clasa a 10-a și BAC, cu explicații video de la profesor. Mai jos ai rezumatul. În lecția completă găsești aplicații rezolvate cu simulator, în care vezi pas cu pas cum se schimbă variabilele, compilator C++ în browser, exerciții propuse cu indicii și rezolvare, și pe Alex, asistentul care îți dă indicii, îți explică algoritmul și îți corectează codul.
int i = 0, j = 0, k = 0;
while (i < n && j < m)
if (a[i] < b[j]) c[k++] = a[i++];
else c[k++] = b[j++];
while (i < n) c[k++] = a[i++];
while (j < m) c[k++] = b[j++];
1. Ce este interclasarea? Combinarea a doi vectori sortați într-un singur vector sortat.
2. Complexitatea interclasării? O(n+m) — foarte eficientă.
3. Ce se întâmplă dacă cei doi vectori interclasați au dimensiuni diferite? Algoritmul continuă normal — buclele finale copiază elementele rămase din vectorul mai lung.
4. Poate fi implementată căutarea binară recursiv? Da, apelând funcția pe jumătatea corespunzătoare a intervalului, până se găsește elementul sau intervalul devine vid.
5. Cum funcționează căutarea binară? Compari valoarea căutată cu elementul din mijloc; dacă e mai mică, cauți în jumătatea stângă, altfel în cea dreaptă. Intervalul se înjumătățește la fiecare pas, deci complexitatea e O(log n).