- Cunoașteți structurile de date pe care le folosiți în fiecare zi.
- 🔎 Profundă incursiune în structura de bază a array-urilor
- 📚 Clasificare
- 👀 Citirea valorilor – începe magia!
- 1️⃣ Indicii
- 2️⃣ Memorie
- 🔧 Operațiuni – În culise!
- 1️⃣ Inserție – Bine ați venit!
- ⚠️ Așteptați un minut! Ce se întâmplă dacă array-ul este plin?
- 2️⃣ Deletion- Bye, Bye!
- 3️⃣ Găsirea unui element
- 👋 În rezumat…
- 👋 Mulțumesc!
Cunoașteți structurile de date pe care le folosiți în fiecare zi.
👋 Bine ați venit! Să începem cu un context vital. Permiteți-mi să vă întreb următorul lucru:
✅ Ascultați muzică pe smartphone-ul dumneavoastră?
✅ Păstrați o listă de contacte pe telefon?
✅ Ați văzut vreodată un clasament în timpul unei competiții?
Dacă răspunsul dumneavoastră este „da” la oricare dintre aceste întrebări, atunci este aproape sigur că ați folosit array-uri și nici măcar nu știați asta! 😃 Array-urile sunt structuri de date foarte puternice care stochează liste de elemente. Ele au aplicații nesfârșite. Ele sunt foarte importante în lumea informaticii.
În acest articol, veți afla avantajele și dezavantajele matricelor, structura, operațiile și cazurile de utilizare ale acestora.
Să începem! 👍
🔎 Profundă incursiune în structura de bază a array-urilor
Pentru a înțelege cum funcționează, este foarte util să vizualizați memoria computerului dumneavoastră ca pe o grilă, exact ca cea de mai jos. Fiecare informație este stocată într-unul dintre acele mici elemente (pătrate) care alcătuiesc grila.
Array-urile profită de această structură „grilă” pentru a stoca liste de informații conexe în locații de memorie adiacente, pentru a garanta o eficiență extremă în găsirea acelor valori. 🔳🔳🔳🔳 🔳
Puteți să vă gândiți la array-uri astfel:
Elementele lor sunt unul lângă altul în memorie. Dacă aveți nevoie să accesați mai mult de unul dintre ele, procesul este extrem de optimizat, deoarece calculatorul știe deja unde se află valoarea respectivă.
Frumos, nu-i așa? Haideți să aflăm cum funcționează acest lucru în culise! 😃
📚 Clasificare
Array-urile sunt clasificate ca structuri de date omogene deoarece stochează elemente de același tip.
Ele pot stoca numere, șiruri de caractere, valori booleene (adevărat și fals), caractere, obiecte și așa mai departe. Dar odată ce ați definit tipul de valori pe care îl va stoca matricea dvs., toate elementele sale trebuie să fie de același tip. Nu puteți „amesteca” diferite tipuri de date.
👀 Citirea valorilor – începe magia!
Puterea uimitoare a array-urilor vine din eficiența lor în accesarea valorilor. Acest lucru se realizează datorită structurii sale de tip grilă. Să analizăm acest lucru mai în detaliu.🔍
Când creați un array, voi:
– Îl atribuiți unei variabile. 👈
– Definiți tipul de elemente pe care le va stoca. 🎈
– Îi definiți dimensiunea (numărul maxim de elemente). 📚
💡 Notă: Numele pe care îl atribuiți acestei variabile este foarte important, deoarece îl veți folosi mai târziu în cod pentru a accesa valorile și pentru a modifica array-ul.
Dar cum puteți spune calculatorului ce valoare anume doriți să accesați? Aici intervine rolul vital al indicilor!
1️⃣ Indicii
Utilizați ceea ce se numește un „index” („indici” la plural) pentru a accesa o valoare dintr-un array. Acesta este un număr care se referă la locația în care este stocată valoarea.
După cum puteți vedea în diagrama de mai jos, primul element din array este menționat folosind indicele 0. Pe măsură ce vă deplasați mai departe spre dreapta, indicele crește cu unu pentru fiecare spațiu din memorie.
💡 Notă: Știu că pare ciudat la început să începi să numeri de la 0 în loc de 1, dar acest lucru se numește numerotare bazată pe zero. Este foarte frecventă în informatică.
Sintaxa generală de accesare a unui element este: <ArrayVariable>
De exemplu:
Dacă matricea dvs. este stocată în variabila myArray
și doriți să accesați primul element (la indexul 0), veți folosi myArray
2️⃣ Memorie
Acum că știți cum să accesați valorile, să vedem cum sunt stocate matricele în memoria calculatorului dvs. Când definiți dimensiunea tabloului, tot acel spațiu din memorie este „rezervat” din acel moment pentru viitoarele valori pe care ați putea dori să le inserați.
💡 Notă: Dacă nu umpleți tabloul cu valori, acel spațiu va fi păstrat rezervat și gol până când o veți face.
De exemplu:
Să spunem că definiți un tablou de dimensiune 5, dar inserați doar o singură valoare. Tot spațiul rămas va fi gol și „rezervat” în memorie, așteptând atribuiri viitoare.
Acest lucru este esențial deoarece array-urile sunt extrem de eficiente în accesarea valorilor deoarece toate elementele sunt stocate în spații contigue în memorie. În acest fel, calculatorul știe exact unde să caute pentru a găsi informația solicitată.
Dar… există și un dezavantaj 😞 pentru că acest lucru nu este eficient din punct de vedere al memoriei. Rezervați memorie pentru operațiuni viitoare care s-ar putea să nu aibă loc. Acesta este motivul pentru care array-urile sunt recomandate în situațiile în care știți dinainte câte elemente veți stoca.
🔧 Operațiuni – În culise!
Acum că știți ce sunt array-urile atunci când sunt folosite și cum stochează ele elemente, ne vom scufunda în operațiile lor, cum ar fi inserția și eliminarea.
1️⃣ Inserție – Bine ați venit!
Să spunem că avem un array de dimensiune 6 și că mai există un spațiu gol. Dorim să inserăm un element „e” la începutul tabloului (indice 0), dar acest loc este deja ocupat de elementul „a”. Ce ar trebui să facem?
Pentru a insera în array-uri, mutăm toate elementele aflate în dreapta locului de inserție, cu un indice în dreapta. Elementul „a” va fi acum la indexul 1, elementul „b” va fi la indexul 2 și așa mai departe…
💡 Notă: Va trebui să creați o variabilă pentru a ține evidența ultimului index care conține elemente. În diagrama de mai sus, matricea este umplută până la indexul 4 înainte de inserție. În acest fel, puteți determina dacă array-ul este plin și ce index ar trebui să folosiți pentru a insera un element la sfârșit.
După ce faceți acest lucru, elementul nostru este inserat cu succes. 👏