Informatică Programare
Structuri de date bacalaureat C++
Structurile de date la Bacalaureat în C++ includ tipuri fundamentale pentru stocarea și manipularea datelor. Cele mai testate sunt vectorii, matricele, listele liniare și arborii binari.
Structuri de bază pentru Bacalaureat
- Vectori (tablouri unidimensionale) Declarare: int v[100];. Operații comune: citire, afișare, căutare, sortare. Exemplu: sortare prin metoda bulelor pentru n=5 elemente: for (i=0; i<n-1; i++) for (j=0; j<n-i-1; j++) if (v[j] > v[j+1]) swap(v[j], v[j+1]);
- Matrice (tablouri bidimensionale) Declarare: int a[10][10];. Se folosesc pentru probleme cu grile sau parcurgeri (ex: suma pe linii/coloane). Exemplu: suma elementelor de pe diagonala principală pentru o matrice pătratică n x n: int s=0; for (i=0; i<n; i++) s += a[i][i];
- Liste liniare simplu înlănțuite Structură: struct Nod { int info; Nod* urm; };. Operații: adăugare, ștergere, parcurgere. Exemplu: parcurgerea unei liste: Nod* p = cap; while (p != NULL) { cout << p->info << ' '; p = p->urm; }
Exemple de subiecte tipice
- Probleme cu vectori Să se determine elementul maxim dintr-un vector: int max = v[0]; for (i=1; i<n; i++) if (v[i] > max) max = v[i];
- Probleme cu matrice Să se verifice dacă o matrice este simetrică față de diagonala principală: for (i=0; i<n; i++) for (j=0; j<n; j++) if (a[i][j] != a[j][i]) return false; return true;
Exersează implementările manuale (fără funcții predefinite) pentru a înțelege algoritmii.