Module ১০ · unordered_set আর unordered_map: hashing, collision আর anti-hash test
unordered_set আর unordered_map-এর প্রতিটা operation, একটা একটা করে, খরচসহ
Account থাকলেই freeপড়া
Bob দোকানের stock রাখে একটা unordered_map<string, int>-এ। Cake আছে কি না জানতে ও লেখে if (stock["cake"] == 0)। উত্তরটা ঠিকই আসে, কিন্তু map-এ এখন একটা জিনিস বেশি: cake, 0 নিয়ে। না থাকা কোনো জিনিস নিয়ে প্রতিটা প্রশ্নই সেই জিনিসটা যোগ করে দেয়, আর এই lesson-এর map আরও তিনটা প্রশ্নে 3 থেকে 6-এ উঠে গেছে। কেন হয়, আর কোন call কিছু যোগ না করেই জিজ্ঞেস করে, সেটা দেখাবে নিচের অংশগুলো।
আপনার জন্য এই lesson টা খোলা কি না দেখা হচ্ছে…
unordered_set আর unordered_map-এর প্রতিটা operation, একটা একটা করে, খরচসহ এর ভেতরে কী আছে
- বানানো: খালি, তালিকা থেকে, range থেকে, নয়তো কয়টা bucket বলে দিয়ে
- insert আর emplace, আর ওরা যে pair ফেরত দেয়
- operator[]: খুঁজে দেয়, নয়তো default যোগ করে
- at: পড়ে, নয়তো থামিয়ে দেয়
- insert_or_assign আর try_emplace
- find আর count
- erase: key ধরে, iterator ধরে, নয়তো একটা range
- size, empty, clear আর swap
- হাঁটা, আর এমন == যেটা ক্রম মানে না
- Bucket-এর interfaceIntermediate
- reserve আর rehashIntermediate
- Pair key-এর জন্য একটা hashIntermediate
- দুর্বল hash সব key এক bucket-এ জড়ো করেIntermediate
- unordered_multiset আর unordered_multimap
- Hash container-এর যা নেই
- সব খরচ এক table-এ