Un vector (în C++) sau o listă (în Python) stochează mai multe valori sub un singur nume. E fundamentul pe care se construiesc toți algoritmii din a doua jumătate a anului — sortări, căutări, frecvențe.
Un rând de cutii numerotate: fiecare cutie păstrează o valoare, iar tu ajungi instant la oricare spunând doar numărul ei.
Analogia perfectă: catalogul clasei. Fiecare elev are un număr de ordine. Dacă profesorul vrea nota elevului #5, nu parcurge tot catalogul — se uită direct la poziția 5. Asta e accesul direct.
O valoare stocată în vector — de exemplu, nota unui elev.
„Numărul cutiei" — poziția la care găsești elementul: v[3].
Câte elemente conține vectorul — la noi, de obicei, n.
Modelul clasic de la BAC: citim întâi n (câte elemente), apoi cele n valori. Privește cutiile umplându-se una câte una.
| n | — |
| i | — |
Strategia: presupunem că primul element e și minim, și maxim. Parcurgem restul — cine e mai mic ia titlul de minim, cine e mai mare, pe cel de maxim.
| i | — |
| min | — |
| max | — |
| i | v[i] | min | max |
|---|
Trei șabloane care apar în aproape orice problemă cu vectori. Aceeași buclă, prelucrări diferite — ca la cifre!
Python scurt: print(sum(v))
Schimbi condiția → numeri orice.
Python scurt: x in v
Vectorul nu are „găuri": când scoți un element, toate cele din dreapta ALUNECĂ o poziție la stânga; când bagi unul, toate se dau la o parte spre dreapta. Privește mutările live:
| p | — |
| j | — |
| n | — |
| p | — |
| x | — |
| j | — |
| n | — |
„De câte ori apare fiecare cifră?" În loc să parcurgi vectorul de 10 ori, faci O SINGURĂ trecere: fiecare valoare își bifează singură cutia — fr[v[i]]++.
Trei întrebări în stil BAC — pentru vectorul v = [3, 8, 5, 1, 6], indexat de la 0.
Fundamentul pentru sortări, căutare binară, frecvențe — tot ce urmează.
Se citește un vector de n numere întregi. Determinați valoarea minimă și valoarea maximă din vector.
Rezolvă pe pbinfo.ro →Se citesc n numere naturale. Determinați valoarea maximă dintre cele n numere citite.
Rezolvă pe pbinfo.ro →Se citesc n numere naturale. Determinați valoarea minimă dintre cele n numere citite.
Rezolvă pe pbinfo.ro →Se citesc n numere naturale. Calculați suma dintre valoarea maximă și valoarea minimă din cele n numere citite.
Rezolvă pe pbinfo.ro →