Ce structuri de date există?
sobes.tech AI
Răspuns de la AI
Array-uri, liste, stive, cozi, copaci, grafuri, tabele hash.
Array: Colecție de elemente de același tip, stocate în celule de memorie adiacente. Acces prin index.
Listă: Colecție secvențială de elemente. Pot fi simple sau dublu legate. Adăugarea/ștergerea în mijloc este mai eficientă decât într-un array.
Stivă: Structură LIFO (Last-In, First-Out). Operații: push (adăugare), pop (eliminare de la sfârșit), peek (vizualizare element superior).
Coadă: Structură FIFO (First-In, First-Out). Operații: enqueue (adăugare la sfârșit), dequeue (eliminare de la început), peek (vizualizare primul element).
Copac: Structură de date ierarhică. Rădăcină, noduri, descendenți. Exemplu: copac binar de căutare.
Graf: Mulțime de vârfuri (noduri), conectate prin arce. Poate fi orientat sau neorientat, ponderat sau neponderat.
Tabel hash: Colecție de perechi cheie-valoare. Folosește funcție hash pentru acces rapid (în medie). Pot apărea coliziuni.
Exemple de utilizare în iOS:
- Array-uri:
Array - Liste: nu există clasă încorporată, implementate pe baza array-urilor sau structurilor personalizate
- Stive/Cozi: implementate pe baza array-urilor sau listelor
- Copaci: folosite în framework-uri, de exemplu, în UI (ierarhia vizualizărilor)
- Grafuri: pentru reprezentarea conexiunilor, de exemplu, rețele
- Tabele hash:
Dictionary,Set
// Exemplu array
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Acces prin index
// Exemplu dicționar (tabel hash)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Acces prin cheie