सबसे पहले जांचें कि libmemcache जैसे मौजूदा समाधान आपकी आवश्यकता के अनुरूप हैं।
यदि नहीं ...
हैश नक्शे आपकी आवश्यकता के लिए निश्चित जवाब हो रहा है। यह कुंजी पर आधारित ओ (1) लुकअप प्रदान करता है। ज्यादातर एसटीएल पुस्तकालय इन दिनों कुछ प्रकार के हैश प्रदान करते हैं। तो अपने मंच द्वारा प्रदान किए गए एक का उपयोग करें।
एक बार उस भाग से किया जाता है, तो आप समाधान का परीक्षण करने के लिए करता है, तो डिफ़ॉल्ट हैशिंग एल्गोरिथ्म अपनी आवश्यकताओं के लिए काफी अच्छा प्रदर्शन बुद्धिमान है देखने के लिए है।
यदि ऐसा नहीं है, तो आप शुद्ध
- अच्छे पुराने अभाज्य संख्या पर पाया कुछ अच्छी तेजी हैशिंग एल्गोरिदम का पता लगाने चाहिए गुणा algo
- http://www.azillionmonkeys.com/qed/hash.html
- http://burtleburtle.net/bob/
- http://code.google.com/p/google-sparsehash/
यदि यह पर्याप्त नहीं है, तो आप एक हैशिंग मॉड्यूल रोल कर सकते हैं ई स्वयं द्वारा, यह आपके द्वारा परीक्षण किए गए एसटीएल कंटेनर के साथ देखी गई समस्या को हल करता है, और उपरोक्त हैशिंग एल्गोरिदम में से एक है। परिणाम कहीं कहीं पोस्ट करना सुनिश्चित करें।
ओह और यह दिलचस्प है कि आपके पास कई मानचित्र हैं ... शायद आप 64 बिट संख्या के रूप में अपनी कुंजी को सरल बिट्स के साथ सरल बना सकते हैं, यह पहचानने के लिए उपयोग किया जाता है कि यह किस मानचित्र से संबंधित है और सभी महत्वपूर्ण मूल्य जोड़ों को एक विशालकाय में जोड़ें हैश। मैंने हैश को देखा है जिसमें मूल हज़ार नंबर हैशिंग एल्गोरिदम पर अच्छी तरह से काम करने वाले सौ हजार या तो प्रतीक हैं।
आप देख सकते हैं कि कैसे है कि समाधान नक्शे के सैकड़ों की तुलना में कैसा प्रदर्शन कर .. मैं लगता है कि देखने के एक स्मृति रूपरेखा बिंदु से बेहतर हो सकता है ... कृपया पोस्ट करूँ परिणाम कहीं अगर आप इस व्यायाम करने मिलता है
मुझे विश्वास है कि हैशिंग एल्गोरिथ्म की तुलना में अधिक यह निरंतर ऐड हो सकता है/और सीपीयू कैश उपयोग प्रोफ़ाइल है कि आपके आवेदन
अच्छी किस्मत के प्रदर्शन के लिए और अधिक महत्वपूर्ण हो सकता है स्मृति की हटाना (यह बचा जा सकता है?)
क्या आपको अपने डेटा में चाबियों द्वारा खोज को संसाधित करने की आवश्यकता है? –
अद्यतन या पुनर्प्राप्ति अधिक बार हो जाएगा? (जोड़ें/हटाएं, या पढ़ें/अपडेट करें जो कुंजी नहीं बदल रहा है) – falstro
http://stackoverflow.com/questions/266206/simple-hashmap-implementation-in-c। यह शुरू करने के लिए शायद एक अच्छी जगह है। – DumbCoder