Aké existujú dátové štruktúry?
sobes.tech AI
Odpoveď od AI
Počasi, zoznamy, zásobníky, fronty, stromy, grafy, hash tabuľky.
Počasie: Kolekcia prvkov rovnakého typu, uložených v susedných pamäťových bunkách. Prístup cez index.
Zoznam: Sekvenčná kolekcia prvkov. Môžu byť jednoducho alebo dvojito prepojené. Pridanie/odstránenie uprostred je efektívnejšie ako v poli.
Zásobník: Štruktúra LIFO (Last-In, First-Out). Operácie: push (pridať), pop (odstrániť z konca), peek (pozrieť na horný prvok).
Front: FIFO (First-In, First-Out). Operácie: enqueue (pridať na koniec), dequeue (odstrániť z začiatku), peek (pozrieť na prvý prvok).
Strom: Hierarchická dátová štruktúra. Koreň, uzly, potomkovia. Príklad: binárny vyhľadávací strom.
Graf: Súbor vrcholov (uzlov), spojených hranami. Môže byť orientovaný alebo neorientovaný, vážený alebo nevážený.
Hash tabuľka: Kolekcia párov kľúč-hodnota. Používa hash funkciu na rýchly prístup (v priemere). Môžu nastať kolízie.
Príklady použitia v iOS:
- Počasi:
Array - Zošity: nemajú zabudovanú triedu, implementujú sa na základe polí alebo vlastných štruktúr
- Zásobníky/Fronty: implementujú sa na základe polí alebo zoznamov
- Stromy: používajú sa v frameworkoch, napríklad v UI (hierarchia zobrazení)
- Grafy: na reprezentáciu spojení, napríklad sietí
- Hash tabuľky:
Dictionary,Set
// Príklad poľa
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Prístup cez index
// Príklad slovníka (hash tabuľka)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Prístup cez kľúč