Avatar ·

सरल कुंजियों (int, string) के लिए map के पास unordered_map से कोई लाभ है?

सभी को नमस्ते! मैं लगभग एक साल से C++ में कोड लिख रहा हूँ, और एक सवाल मुझे परेशान कर रहा है। मान लीजिए, मुझे एक शब्दकोश स्टोर करना है जहाँ कुंजियाँ int या string हैं। मुझे पता है कि `std::map` को red-black tree (प्रति ऑपरेशन O(log n)) के रूप में लागू किया गया है, और `std::unordered_map` को hash table (औसतन O(1)) के रूप में लागू किया गया है। ऐसा लगता है कि सरल कुंजियों के लिए `unordered_map` हमेशा तेज़ होता है, और मैं अक्सर देखता हूँ कि शुरुआती लोगों को इसकी सिफारिश की जाती है। लेकिन StackOverflow पर मुझे एक चर्चा मिली जहाँ अनुभवी डेवलपर्स का दावा है कि `map` के कुछ फायदे हैं। मैंने एक छोटा टेस्ट लिखने की कोशिश की: ```cpp #include #include #include #include int main() { std::map ordered; std::unordered_map unordered; // 100000 एलिमेंट भरते हैं for (int i = 0; i < 100000; ++i) { ordered[i] = "value" + std::to_string(i); unordered[i] = "value" + std::to_string(i); } // ... बाकी कोड } ```

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग