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.