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