unordered_map
সি ++ এ সম্পর্কে একটি সাম্প্রতিক আলাপ আমাকে বুঝতে পেরেছিল যে আমি unordered_map
বেশিরভাগ ক্ষেত্রে যেখানে আমি map
আগে ব্যবহার করেছি সেগুলির জন্য ব্যবহার করা উচিত , কারণ দেখার দক্ষতা ( মোড়কৃত ও (1) বনাম ও (লগ এন) )। বেশিরভাগ সময় আমি কোনও মানচিত্র ব্যবহার করি, আমি হয় int
বা std::string
মূল প্রকার হিসাবে ব্যবহার করি ; সুতরাং, হ্যাশ ফাংশনটির সংজ্ঞা নিয়ে আমার কোনও সমস্যা হয়নি। আমি এটির বিষয়ে যত বেশি চিন্তাভাবনা করেছি ততই আমি বুঝতে পেরেছি যে সহজ ধরণের কীগুলির ক্ষেত্রে আমি std::map
ওভার এ ব্যবহার করার কোনও কারণ খুঁজে পাচ্ছি না std::unordered_map
- আমি ইন্টারফেসগুলি একবার দেখেছি, এবং কোনও পাইনি উল্লেখযোগ্য পার্থক্য যা আমার কোডকে প্রভাবিত করবে।
অত: পর প্রশ্ন: সেখানে ব্যবহার করতে কোনো বাস্তব কারণ নেই std::map
ওভার std::unordered_map
মত সহজ ধরনের ক্ষেত্রে int
এবং std::string
?
আমি কঠোরভাবে প্রোগ্রামিং দৃষ্টিকোণ থেকে জিজ্ঞাসা করছি - আমি জানি যে এটি পুরোপুরি মান হিসাবে বিবেচিত হয় না এবং এটি পোর্টিংয়ের ক্ষেত্রে সমস্যা তৈরি করতে পারে।
এছাড়াও, আমি প্রত্যাশা করি যে একটি সঠিক উত্তর একটি ছোট ওভারহেডের কারণে "এটি ডেটারের ছোট সেটগুলির জন্য আরও দক্ষ" হতে পারে (এটি কি সত্য?) - সুতরাং আমি প্রশ্নগুলি সেই ক্ষেত্রে সীমাবদ্ধ করতে চাই যেখানে পরিমাণের পরিমাণ কীগুলি অ-তুচ্ছ (> 1 024)।
সম্পাদনা: দুহ, আমি স্পষ্টভাবে ভুলে গেছি (ধন্যবাদ জিএমান!) - হ্যাঁ, মানচিত্র অবশ্যই অর্ডার করা হয়েছে - আমি তা জানি, এবং অন্যান্য কারণগুলিও খুঁজছি।