Sobes.tech
Junior — Middle

Můžete vysvětlit princip fungování hashovací tabulky a jak jsou v ní uložena data?

sobes.tech AI

Odpověď od AI

Hash tabulka je datová struktura, která umožňuje velmi rychlý přístup k datům pomocí klíče. Princip jejího fungování spočívá v použití hash funkce, která převádí klíč na index pole, kde je uložen odpovídající hodnotu.

Když je třeba uložit pár klíč-hodnota, hash funkce vypočítá index a data jsou umístěna v buňce pole na tomto indexu. Při hledání podle klíče hash funkce znovu vypočítá index a rychle najde potřebnou hodnotu.

Pokud dva různé klíče dávají stejný index (kolize), obvykle se používá metoda řetězení: v buňce je uložen seznam všech prvků s tímto indexem a hledání probíhá v tomto seznamu.

Příklad v Dart (Flutter):

void main() {
  Map<String, int> hashTable = {};
  hashTable['apple'] = 5;
  hashTable['banana'] = 3;

  print(hashTable['apple']); // 5
}

Zde je Map implementací hash tabulky, kde klíč je řetězec a hodnota je číslo.