कुंजियों के सेट पर विचार करें और एक हैश तालिका जहाँ बाल्टियों की संख्या । के बाद से का एक कारक है , कुंजी है कि के गुणज हैं बाल्टी कि के गुणज हैं करने के लिए टुकड़ों में बांटा की जाएगी :K={0,1,...,100}m=1231233
- कुंजी को बकेट लिए किया जाएगा ।{0,12,24,36,...}0
- कुंजी बाल्टी किया जाएगा ।{3,15,27,39,...}3
- कुंजी को बाल्टी करने के लिए किया जाएगा ।{6,18,30,42,...}6
- कीज़ को बाल्टी करने के लिए किया जाएगा ।{9,21,33,45,...}9
यदि को समान रूप से वितरित किया जाता है (अर्थात, प्रत्येक कुंजी समान रूप से होने की संभावना है), तो का चुनाव इतना महत्वपूर्ण नहीं है। लेकिन, यदि को समान रूप से वितरित नहीं किया जाता है, तो क्या होता है? कल्पना कीजिए कि जिन कुंजियों की सबसे अधिक संभावना है, वे के गुणक हैं । इस स्थिति में, सभी बकेट जो गुणक नहीं हैं, उच्च संभावना के साथ खाली होंगे (जो हैश टेबल प्रदर्शन के मामले में वास्तव में खराब है)।KKmK33
यह स्थिति अधिक सामान्य है कि ऐसा लग सकता है। उदाहरण के लिए, कल्पना कीजिए कि आप उन वस्तुओं पर नज़र रख रहे हैं, जहाँ वे स्मृति में संग्रहीत हैं। यदि आपके कंप्यूटर का शब्द आकार चार बाइट्स है, तो आपके पास हैशिंग कुंजी होगी जो गुणक हैं । यह कहने की ज़रूरत नहीं है कि को से चुनने के लिए एक भयानक विकल्प होगा: आपके पास बाल्टी पूरी तरह से खाली होगी, और आपकी सभी चाबियां शेष बाल्टी में टकराएंगी।4m43m/4m/4
सामान्य रूप में:
प्रत्येक कुंजी जो बकेट की संख्या के साथ एक सामान्य कारक साझा करती है उसे बकेट में हैश किया जाएगा जो इस कारक का एक गुणक है।Km
इसलिए, टकराव कम करने के लिए, यह महत्वपूर्ण के बीच आम कारण की संख्या को कम करने के लिए है और के तत्वों । यह कैसे हासिल किया जा सकता है? एक ऐसी संख्या होने के लिए का चयन करें जिसके बहुत कम कारक हैं: एक अभाज्य संख्या ।mKm