Modele de date (mulțimi, șiruri, dicționare, structuri mixte) + metode (căutare binară, interclasare, recursivitate, divide et impera, Greedy) + fundația C++ pentru BAC (pointeri, char[]). Verifică-le pe toate aici.
Fiecare stație duce înapoi la modulul ei. Albastru = metode pe vectori sortați · verde = modele Python · auriu = strategii.
Eticheta îți spune modulul: dacă greșești, știi exact unde să te întorci.
Dacă ții minte doar câte o propoziție din fiecare modul, să fie acestea.
DOAR pe vector sortat: m=(st+dr)/2, arunci jumătatea greșită → log₂ n pași.
Două sortate → una sortată în n+m pași; a[i] <= b[j] păstrează stabilitatea.
Elemente UNICE, fără ordine: |, &, -; dublurile dispar cu set(v); {} gol e dict!
&x = adresa, *p = valoarea de la adresă; numele vectorului e adresa primului element.
char s[101] se termină cu '\0'; strlen/strcpy/strcmp/strcat din <cstring>.
char v[10][51] = vector de cuvinte; matricea numerică se parcurge cu doi indici: linii × coloane.
IMUTABIL — „modificarea" creează șir nou; find → −1, split → listă, s[::-1] = oglinda.
Chei UNICE → valoare; f[c] = f.get(c, 0) + 1 numără orice; in caută în chei.
Exteriorul = cum ajungi (nume→dict, ordine→list); accesul coboară UN strat pe pas.
① caz de bază ② progres strict spre el; tabelul apelurilor pe hârtie, de jos în sus.
Divide → stăpânește recursiv → combină; Merge Sort = divide + interclasare = O(n·log n).
Sortezi după criteriul lacom, alegi definitiv, nu revii — dar caută mereu contraexemplul!
Cum transformi recapitularea în notă mare.