के हैश/सीआरसी के लिए एल्गोरिदम मान लें कि मैं बिना हस्ताक्षरित int के अनियंत्रित मल्टीसेट्स का एक अनियमित सेट बनाना चाहता हूं। इसके लिए, मुझे अनियंत्रित मल्टीसेट के हैश की गणना करने के लिए हैश फ़ंक्शन बनाना होगा। वास्तव में, यह सीआरसी के लिए भी अच्छा होना चाहिए।अनॉर्डर्ड मल्टीसेट
एक स्पष्ट समाधान है कि वेक्टर में आइटम डालें, उन्हें सॉर्ट करें और परिणाम का हैश वापस करें। ऐसा लगता है, लेकिन यह महंगा है।
एक और तरीका मूल्यों को xor करना है, लेकिन जाहिर है कि यदि मेरे पास एक आइटम दो बार है या कोई भी परिणाम समान नहीं होगा - जो अच्छा नहीं है।
कोई विचार यह है कि मैं इस सस्ता को कैसे कार्यान्वित कर सकता हूं - मेरे पास एक ऐसा एप्लिकेशन है जो हजारों सेटों और अपेक्षाकृत बड़े लोगों के लिए यह हजारों करेगा।
क्या आप मल्टीसेट को संशोधित कर सकते हैं ताकि वे सम्मिलन/निष्कासन पर अपने हैंश को दोबारा बदल सकें? फिर यदि आपको कई बार लुकअप करने की ज़रूरत है तो आपको हैश को पुनः संयोजित करने की आवश्यकता नहीं है। –
तकनीकी रूप से हाँ, लेकिन यह कैसे मदद करता है? – gsf
क्योंकि कैश किए गए मान को केवल * पढ़ा जा सकता है, आपको इसे हजारों बार गणना करने की आवश्यकता नहीं होगी। –