Sobes.tech
Junior

Ako je HashMap interné štruktúrovaná? Čo je bucket, ako prebieha vkladanie, čo je kolízia, čo je rehashing?

sobes.tech AI

Odpoveď od AI

HashMap je dátová štruktúra, ktorá uchováva páry kľúč-hodnota a zabezpečuje rýchly prístup cez kľúč.

  • Vedro (Bucket) je bunka alebo slot v poli, kam sa umiestni prvok. V HashMap, kľúč najskôr prejde cez hashovaciu funkciu, ktorá vypočíta index vedra.

  • Vloženie: pri pridávaní páru kľúč-hodnota sa vypočíta hash kľúča a určí sa vedro. Ak je vedro prázdne, prvok sa tam umiestni.

  • Kolízia je situácia, keď rôzne kľúče majú rovnaký hash a spadajú do toho istého vedra. Na riešenie kolízií sa zvyčajne používa spojený zoznam alebo strom vnútri vedra.

  • Rehashing je proces zväčšenia veľkosti poľa vedier a preusporiadania prvkov, keď počet prvkov prekročí určitý prah (faktor zaťaženia). Toto je nevyhnutné na udržanie výkonu.