Junior
Co je to hashovací tabulka?
sobes.tech AI
Odpověď od AI
Hash tabulka je datová struktura, která implementuje asociativní pole (slovník). Ukládá páry "klíč-hodnota", kde jsou klíče jedinečné.
Základní principy:
- Hash funkce: Převádí klíč na číslo (hash kód nebo index). Tento index ukazuje na místo uložení hodnoty v poli (koš).
- Pole (koše): Skutečné uložení párů "klíč-hodnota".
- Kolize: Situace, kdy různé klíče generují stejný hash kód.
Řešení kolizí:
- Metoda řetězení (Separate chaining): V každém koši je seznam (nebo jiná datová struktura) prvků se stejným hash kódem.
- Otevřené adresování (Open addressing): Při kolizi se hledá volný koš pomocí různých strategií (lineární sondování, kvadratické sondování, dvojité hashování).
Charakteristiky:
- Rychlý přístup: V ideálním případě O(1) pro operace vkládání, hledání a mazání.
- Závislost na hash funkci: Kvalita hash funkce a strategie řešení kolizí výrazně ovlivňují výkon.
- Využití paměti: Vyžaduje dodatečnou paměť pro pole košů.
Použití v QA:
- Ukládání testovacích dat (klíč - název parametru, hodnota - očekávaná nebo skutečná hodnota).
- Kontrola unikátnosti prvků (například ID uživatelů).
- Implementace cache (mezipaměti).