Foundationপ্রথম নীতি থেকে
LEVEL 6 · Data Structures & Algorithms

Hash Table

হ্যাশ টেবিল

Key-কে hash function দিয়ে array index-এ বসানো key-value store — গড়ে O(1) lookup, insert, delete; collision সামলায় chaining বা open addressing।

also: hashtable, hash map

মূল ভাবনা এক লাইনে:

index = hash(key) % capacity

দুই key এক index-এ পড়লে সেটা collision; সামলানোর দুই রাস্তা:

কৌশলপদ্ধতিগড় lookup
Chainingপ্রতি bucket-এ linked listO(1 + α)
Open addressingভরা slot পেলে পরের probeO(1/(1−α))

এখানে α হলো load factor — entry সংখ্যা ÷ bucket সংখ্যা। α বাড়লে chain/probe লম্বা হয়, তাই threshold ছুঁলে table বড় করে সব entry rehash করতে হয়।

Worst case (সব key এক bucket-এ) O(n); ভালো hash function আর ঠিক সময়ে resize-ই ওই গড় O(1)-টা ধরে রাখে।