मैं हैश तालिका कार्यान्वयन में उपयोग के लिए अच्छे (यानी वर्दी के पास) वितरण के साथ एक उच्च स्पीड हैशिंग फ़ंक्शन की तलाश में हूं।हैश टेबल कार्यान्वयन के लिए हैशिंग एल्गोरिदम
हैश तालिका का उपयोग विशेष रूप से एक पूर्णांक कुंजी वाले मानों को संग्रहीत करने के लिए किया जाएगा।
क्या मैं केवल हैश के रूप में पूर्णांक के निचले कुछ बिट्स का उपयोग कर सकता हूं?
उदाहरण int कुंजी = n & 15; और उन्हें स्टोर करने के लिए 16 स्लॉट के साथ एक सरणी बनाएँ।
कोई सिफारिशें?
एक परिपूर्ण हैश फ़ंक्शन जैसी कोई चीज़ नहीं है। हालांकि, अगर आप संबंधित स्रोत कोड के साथ कुछ एल्गोरिदम चाहते हैं, तो यहां देखें: http://partow.net/programming/hashfunctions/index.html –
सबसे कम बिट्स लेना शायद सबसे बुरी चीज है। (लेकिन: यह सब आपके int कुंजी में आपके द्वारा अपेक्षित मानों की सीमा पर निर्भर करता है) ऊपरी बिट्स में भी मिश्रण करने का प्रयास करें, या बड़े पर्याप्त (विषम, प्राइम) संख्या के साथ गुणा करें। जानें कि इसकी क्या अपेक्षा करें और मापें। – wildplasser
अपनी टिप्पणी को एक उत्तर के रूप में पोस्ट करें और मैं इसे स्वीकार करूंगा। –