Sobes.tech
Junior

Jaké existují datové struktury?

sobes.tech AI

Odpověď od AI

Pole, seznamy, zásobníky, fronty, stromy, grafy, hash tabulky.

Pole: Kolekce prvků stejného typu, uložených v sousedních paměťových buňkách. Přístup přes index.

Seznam: Sekvenční kolekce prvků. Může být jednoduše nebo dvojitě spojena. Přidání/odstranění uprostřed je efektivnější než v poli.

Zásobník: Struktura LIFO (Last-In, First-Out). Operace: push (přidat), pop (odstranit z konce), peek (zobrazit vrchní prvek).

Fronta: Struktura FIFO (First-In, First-Out). Operace: enqueue (přidat na konec), dequeue (odstranit z začátku), peek (zobrazit první prvek).

Strom: Hierarchická datová struktura. Kořen, uzly, potomci. Příklad: binární vyhledávací strom.

Graf: Sada vrcholů (uzlů), spojených hranami. Může být orientovaný nebo neorientovaný, vážený nebo nevážený.

Hash tabulka: Kolekce párů klíč-hodnota. Používá hash funkci pro rychlý přístup (průměrně). Mohou nastat kolize.

Příklady použití v iOS:

  • Pole: Array
  • Seznamy: žádná vestavěná třída, implementují se na základě polí nebo vlastních struktur
  • Zásobníky/Fronty: implementují se na základě polí nebo seznamů
  • Stromy: používají se ve frameworkách, například v UI (hierarchie zobrazení)
  • Grafy: pro reprezentaci spojení, například síťových grafů
  • Hash tabulky: Dictionary, Set
// Příklad pole
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Přístup přes index

// Příklad slovníku (hash tabulka)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Přístup přes klíč