प्रोग्रामिंग भाषेमधील अ‍ॅरे आणि हॅश टेबलमध्ये काय फरक आहे?


उत्तर 1:

हॅश टेबल्स अ‍ॅरे वापरतात. अ‍ॅरेकडे हॅशिंगसाठी महत्वाची मालमत्ता आहे: जर आपल्याला कोणत्याही घटकाची अनुक्रमणिका माहित असेल तर आपण सतत वेळेत प्रवेश करू शकता.

आपण बादल्यांसाठी अ‍ॅरे वापरू शकता. असे मानू की आपण मोर्स कोडसारखे काहीतरी डिझाइन करण्यासाठी मजकूरातील प्रत्येक अक्षरातील किती संख्या मोजावी अशी आपली इच्छा होती. आपण 26 प्रविष्ट्यांसह अ‍ॅरे बनविता (सोप्या रोमन वर्णमाला नसलेल्या) जेव्हा जेव्हा आपल्याला एखादे पत्र दिसते तेव्हा आपण अनुक्रमणिकेची गणना करा आणि अ‍ॅरेच्या त्या एंट्रीवर जा.

हॅश टेबल्स हे अनियंत्रितपणे लांब कीसाठी विस्तारित करतात. आपण की च्या हॅशची गणना करा आणि त्या अनुक्रमणिकेवर जा. जेव्हा एकाधिक की मध्ये समान हॅश असते तेव्हा समस्या येते. यावर व्यवहार करण्याचे विविध मार्ग आहेत, त्यातील काही हॅशच्या हेतूला पराभूत करतात (परंतु अंमलात आणणे सोपे आहे). त्यापैकी काही किमान वेळ मालमत्ता ठेवत नाहीत आणि देखभाल करतात.

मी पाहिलेल्या सर्वांत उत्तम म्हणजे अ‍ॅड-हॅश रीहॅश, जे दशकांपूर्वी मेमरीचे काम करते, गोंनेट आणि मुनरोने सिद्ध केले की आकारात पर्वा न करता, 50% लोड फॅक्टरसह सरासरी 4 पेक्षा जास्त प्रवेश आहेत. हॅश टेबल यासाठी, यासाठी मुख्य संख्या वापरणे आवश्यक आहे आणि यामुळे अंमलात आणणे अवघड आहे. आपल्याला कसा तरी प्राथमिक क्रमांक शोधावा लागेल. सुदैवाने, हॅश टेबल इतके मोठे होत नाहीत की हे हास्यास्पद बनतात.