Junior
Z akých komponentov sa skladá hash tabuľka?
sobes.tech AI
Odpoveď od AI
Hash tabuľka pozostáva z:
- Pole (alebo zoznam): Hlavná dátová štruktúra, v ktorej sa ukladajú prvky. Niekedy sa nazýva "vedrá" (buckets) alebo "sloty".
- Hash funkcia: Funkcia, ktorá prijíma kľúč ako vstup a vracia index (celé číslo) v poli. Dobrá hash funkcia zabezpečuje rovnomerné rozloženie kľúčov v poli, minimalizujúc kolízie.
- Mechanizmus riešenia kolízií: Metóda na vyriešenie situácie, keď hash funkcia generuje rovnaký index pre rôzne kľúče. Dva hlavné spôsoby:
- Oddelené reťazenie (Separate Chaining): Každý prvok poľa uchováva ukazovateľ na zoznam (spojený zoznam, B-strom atď.) prvkov, ktoré boli hashované na tento index.
- Otvárané adresovanie (Open Addressing): Pri kolízii sa hľadá iné voľné miesto v samotnom poli na umiestnenie prvku. Stratégie vyhľadávania:
- Lineárne sondovanie (Linear Probing)
- Kvadratické sondovanie (Quadratic Probing)
- Dvojité hashovanie (Double Hashing)
- Operácie: Implementácia základných operácií: vkladanie (insert), vyhľadávanie (search), mazanie (delete). Tieto operácie používajú hash funkciu na určenie umiestnenia prvkov v poli a mechanizmus riešenia kolízií podľa potreby.