Junior
Z jakých komponent se skládá hashovací tabulka?
sobes.tech AI
Odpověď od AI
Hashová tabulka se skládá z:
- Pole (nebo seznam): Hlavní datová struktura, ve které jsou uloženy prvky. Někdy se nazývá "kbelíky" (buckets) nebo "sloty".
- Hashovací funkce: Funkce, která přijímá klíč jako vstup a vrací index (celé číslo) v poli. Dobrá hashovací funkce zajišťuje rovnoměrné rozložení klíčů v poli, minimalizující kolize.
- Mechanismus řešení kolizí: Metoda, jak řešit situaci, kdy hashovací funkce generuje stejný index pro různé klíče. Dva hlavní způsoby:
- Oddělené řetězení (Separate Chaining): Každý prvek pole uchovává ukazatel na seznam (spojený seznam, B-strom atd.) prvků, které byly hashovány na tento index.
- Otevřená adresace (Open Addressing): Při kolizi se hledá jiné volné místo v samotném poli pro umístění prvku. Strategie hledání:
- Lineární sondování (Linear Probing)
- Kvadratické sondování (Quadratic Probing)
- Dvojité hashování (Double Hashing)
- Operace: Implementace základních operací: vkládání (insert), hledání (search), mazání (delete). Tyto operace používají hashovací funkci k určení umístění prvků v poli a mechanismus řešení kolizí podle potřeby.