Sobes.tech
Junior

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