Sobes.tech
Junior

Milyen adatstruktúrák léteznek?

sobes.tech MI

Válasz az MI-től

Tömbök, listák, veremek, sorok, fák, gráfok, hash táblák.

Tömb: Azonos típusú elemek gyűjteménye, egymás melletti memóriahelyeken tárolva. Hozzáférés index alapján.

Lista: Szekvenciális elemek gyűjteménye. Lehet egysoros vagy kétsoros láncolt. Középre való hozzáadás/eltávolítás hatékonyabb, mint egy tömbnél.

Verem: LIFO (Last-In, First-Out) szerkezet. Műveletek: push (hozzáadás), pop (eltávolítás a végéről), peek (felső elem megtekintése).

Sor: FIFO (First-In, First-Out) szerkezet. Műveletek: enqueue (hozzáadás a végéhez), dequeue (eltávolítás a kezdetéről), peek (első elem megtekintése).

Fa: Hierarchikus adatstruktúra. Gyökér, csomópontok, leszármazottak. Példa: bináris keresőfa.

Graf: Csúcsok (csomópontok) halmaza, élekkel összekötve. Lehet irányított vagy irányítatlan, súlyozott vagy súlyozatlan.

Hash-tábla: Kulcs-érték párok gyűjteménye. Gyors hozzáférést biztosít hash függvény használatával (átlagosan). Kollíziók előfordulhatnak.

Példák iOS-ben való használatra:

  • Tömbök: Array
  • Listák: nincs beépített osztály, array-okon vagy egyedi struktúrákon alapulnak
  • Veremek/Sorok: array-okon vagy listákon alapulnak
  • Fák: keretrendszerekben, például UI-ben (nézet hierarchia)
  • Grafok: kapcsolatok ábrázolására, például hálózatok
  • Hash-táblák: Dictionary, Set
// Példa tömb
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Index alapján való hozzáférés

// Példa szótár (hash-tábla)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Kulcs alapján való hozzáférés