Learn C++ STL

lesson ২ / ৯ · unordered_set আর unordered_map: hashing, collision আর anti-hash test

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, একটা একটা করে, খরচসহ এর ভেতরে কী আছে

  1. বানানো: খালি, তালিকা থেকে, range থেকে, নয়তো কয়টা bucket বলে দিয়ে
  2. insert আর emplace, আর ওরা যে pair ফেরত দেয়
  3. operator[]: খুঁজে দেয়, নয়তো default যোগ করে
  4. at: পড়ে, নয়তো থামিয়ে দেয়
  5. insert_or_assign আর try_emplace
  6. find আর count
  7. erase: key ধরে, iterator ধরে, নয়তো একটা range
  8. size, empty, clear আর swap
  9. হাঁটা, আর এমন == যেটা ক্রম মানে না
  10. Bucket-এর interfaceIntermediate
  11. reserve আর rehashIntermediate
  12. Pair key-এর জন্য একটা hashIntermediate
  13. দুর্বল hash সব key এক bucket-এ জড়ো করেIntermediate
  14. unordered_multiset আর unordered_multimap
  15. Hash container-এর যা নেই
  16. সব খরচ এক table-এ