Sobes.tech
Junior

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ľúč