3.3.1 · HinglishHashing

Hash function — properties - deterministic, uniform, fast

1,887 words9 min readRead in English

3.3.1 · Coding › Hashing


Hash function KYA hai?

Kyunki hai, collisions unavoidable hain (pigeonhole). Do alag keys kabhi kabhi same bucket mein map ho jaayengi. Ek acchi hash function collisions ko poori tarah avoid nahi karti — woh unhe rare aur evenly distributed banati hai.


Teen core properties

1. Deterministic

YEH KYU MATTER KARTA HAI: Hashing put then find se kaam karti hai. Agar aap insert("cat") karte ho toh woh bucket 7 mein jaata hai. Baad mein lookup("cat") ko bucket 7 dobara compute karna hoga taaki woh mile. Agar randomness ya current time use karta, toh "cat" kahin aur land hota aur aap usse kabhi retrieve nahi kar paate.


2. Uniform (acchi distribution)

YEH KYU MATTER KARTA HAI — cost derive karo. Maan lo keys buckets mein insert ki gayi hain. Load factor define karo:

Expected chain length ka derivation (separate chaining): Ek fixed bucket ke liye, indicator agar key bucket mein land karti hai. Bucket mein expected keys = sabhi keys ka sum (linearity of expectation):

Toh search cost ≈ hai (1 hash compute karne ke liye, chain walk karne ke liye). Agar ek chhota constant rehta hai (hum rakhte hain), toh search hai.

Figure — Hash function — properties -  deterministic, uniform, fast

3. Fast (compute karne mein efficient)

YEH KYU MATTER KARTA HAI: Hash table ka poora selling point operations hai. Agar khud leta ya kuch expensive karta (cryptographic hashing, sorting), toh aap advantage kho dete. Hashing ek tiny constant-time computation ke badle search avoid karna trade karta hai.


Worked examples


Recall Feynman: ek 12-saal ke bacche ko samjhao

Ek deewar par numbered mailboxes 0 se 9 tak imagine karo. Ek hash function ek rule hai jo decide karta hai ki har letter kis mailbox mein jaayega uske naam ke basis par. Accha rule: (1) Same naam hamesha same box — warna aapko apna letter dobara nahi milta (deterministic). (2) Letters evenly spread karo — aap nahi chahte ki saare letters box 3 mein jam jaayein aur baaki khaali rahein (uniform). (3) Rule jaldi apply ho — aapko box decide karne mein ek ghanta nahi lagana chahiye (fast). Kabhi kabhi do naam same box mein aa jaate hain (ek collision) — koi baat nahi, aap bas us box ke andar ek chhota stack rakhte ho.


Flashcards

Ek acchi hash function ki teen properties kya hain?
Deterministic (same key → same bucket), Uniform (keys ko evenly spread karta hai), Fast (compute karna sasta, ya ).
Hash function deterministic kyun honi chahiye?
Taaki lookup wahi SAME bucket recompute kare jahan insert ne key rakhi thi; warna retrieval impossible hai.
Load factor define karo.
= keys ki sankhya ÷ buckets ki sankhya; uniform hashing ke under expected chain length.
Separate chaining ke saath expected search cost kya hai?
— linearity of expectation se derive kiya, har bucket average mein keys rakhta hai.
Division method mein prime table size kyun prefer karte hain?
Prime mod key ke saare bits/digits mix karta hai; 2 ya 10 ki powers sirf low-order bits use karti hain → clustering.
Collisions unavoidable kyun hain?
Pigeonhole: , toh possible keys se zyada buckets nahi hain — kuch share karni hi padegi.
String hash mein ASCII sum karne ki jagah weights kyun use karte hain?
Summing anagrams ko collide karaata hai ("abc"="cab"); positional weights character order ko alag karte hain.
Simple Uniform Hashing kya assume karta hai?
Har key equally likely () hai kisi bhi bucket mein land hone ke liye, dusri keys se independent.
Hash table ko resize/rehash kab karna chahiye?
Jab ek threshold (~0.75) se zyada ho jaaye taaki chains chhoti rahein aur operations rahein.
Hash function ek fresh random number per call kyun use nahi kar sakti?
Yeh determinism tod dega — same key har baar alag hash karti, lookups break ho jaate.

Connections

  • Hash Table — woh data structure jo yeh functions power karte hain.
  • Collision Resolution — Separate Chaining — jo unavoidable collisions handle karta hai.
  • Collision Resolution — Open Addressing — alternative jo especially uniform hashes maangta hai.
  • Load Factor and Rehashing ko chhota rakhta hai taaki preserve ho.
  • Modular Arithmetic — division method ki basis.
  • Pigeonhole Principle — kyun collisions exist karni chahiye.
  • Cryptographic Hash Functions — contrast: strong & slow vs. hamari cheap & fast.

Concept Map

mapped by

indexes into

much larger than m so

must be

must be

must be

enables

by linearity gives

equals

determines

keeps cost

prevents long chains from

Hash function h maps U to m buckets

Universe U of keys huge

Table of m buckets small

Collisions unavoidable

Deterministic

Uniform SUH

Fast to compute

Load factor alpha = n/m

Expected chain length

Search O of 1 + alpha

Reliable put then find