यह एक इंडेक्स को बकेट या स्लॉट की सरणी में गणना करने के लिए हैश फ़ंक्शन का उपयोग करता है, जिससे वांछित मान पाया जा सकता है।
हैश मैप का प्राथमिक लाभ इसकी दक्षता है। एक नई कुंजी-मूल्य जोड़ी को सम्मिलित करना, एक कुंजी-मूल्य जोड़ी को हटाना, और एक कुंजी दिए गए मूल्य को देखना जैसे ऑपरेशन बहुत तेज़ होते हैं, जिनमें अक्सर औसतन निरंतर समय लगता है।
let hashMap = {}; hashMap['key1'] = 'value1'; hashMap['key2'] = 'value2'; console.log(hashMap['key1']); // Outputs: value1
अलग चेनिंग: अलग चेनिंग में, हैश टेबल के एरे में प्रत्येक स्लॉट में एक लिंक्ड सूची (या अन्य डेटा संरचना जो कई आइटम रख सकती है) होती है। जब कोई टकराव होता है, तो नई कुंजी-मूल्य जोड़ी को संबंधित सूचकांक पर लिंक की गई सूची के अंत में जोड़ा जाता है।
यहां जावास्क्रिप्ट में अलग श्रृंखला का उपयोग करके हैश मैप का एक सरल कार्यान्वयन है:
class HashMap { constructor() { this.table = new Array(100).fill(null).map(() => []); } put(key, value) { const index = this.hash(key); const chain = this.table[index]; const existingPair = chain.find(([existingKey]) => existingKey === key); if (existingPair) { existingPair[1] = value; } else { chain.push([key, value]); } } get(key) { const index = this.hash(key); const chain = this.table[index]; const pair = chain.find(([existingKey]) => existingKey === key); if (pair) { return pair[1]; } return null; } hash(key) { let hash = 0; for (let i = 0; iरैखिक जांच: रैखिक जांच में, जब कोई टकराव होता है, तो हैश मैप सरणी में अगले स्लॉट की जांच करता है (और यदि वह भी भरा हुआ है, तो अगले स्लॉट तक जारी रहता है, और इसी तरह) जब तक वह नहीं मिल जाता एक खाली स्लॉट जहां यह नई कुंजी-मूल्य जोड़ी को संग्रहीत कर सकता है।
यहां जावास्क्रिप्ट में रैखिक जांच का उपयोग करके हैश मैप का एक सरल कार्यान्वयन है:
class HashMap { constructor() { this.table = new Array(100).fill(null); } put(key, value) { let index = this.hash(key); while (this.table[index] !== null) { index = (index 1) % this.table.length; } this.table[index] = [key, value]; } get(key) { let index = this.hash(key); while (this.table[index] !== null) { if (this.table[index][0] === key) { return this.table[index][1]; } index = (index 1) % this.table.length; } return null; } hash(key) { let hash = 0; for (let i = 0; iदोनों उदाहरणों में, हैश विधि एक सरल हैश फ़ंक्शन है जो कुंजी को पूर्णांक में परिवर्तित करती है जिसे सरणी में इंडेक्स के रूप में उपयोग किया जाता है। वास्तविक दुनिया के परिदृश्य में, टकराव की संभावना को कम करने के लिए आप संभवतः अधिक जटिल हैश फ़ंक्शन का उपयोग करेंगे।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3