मल्टीमैप: Difference between revisions

From Vigyanwiki
(Created page with "{{about|the data type|the mathematical concept|Multivalued function|the mapping website|Multimap.com}} {{more citations needed|date=February 2022}} कंप्यूटर...")
 
No edit summary
Line 1: Line 1:
{{about|the data type|the mathematical concept|Multivalued function|the mapping website|Multimap.com}}
{{about|डेटा प्रकार|गणितीय अवधारणा|बहुमूल्यांकित कार्य|मैपिंग वेबसाइट|Multimap.com}}
{{more citations needed|date=February 2022}}
{{more citations needed|date=February 2022}}
[[कंप्यूटर विज्ञान]] में, एक मल्टीमैप (कभी-कभी मल्टीहैश, मल्टीडिक्ट या मल्टीडिक्शनरी भी) एक सहयोगी सरणी [[अमूर्त डेटा प्रकार]] का एक सामान्यीकरण है जिसमें एक से अधिक मान किसी दिए गए कुंजी के साथ जुड़े और लौटाए जा सकते हैं। मानचित्र और मल्टीमैप दोनों [[कंटेनर (डेटा संरचना)]] के विशेष मामले हैं (उदाहरण के लिए, [[C++]] [[मानक टेम्पलेट लाइब्रेरी]] मानक टेम्पलेट लाइब्रेरी#कंटेनर देखें)। अक्सर मल्टीमैप को मानचित्र मानों के रूप में [[सूची (कंप्यूटिंग)]] या [[सेट (कंप्यूटर विज्ञान)]] के साथ मानचित्र के रूप में कार्यान्वित किया जाता है।
[[कंप्यूटर विज्ञान]] में, एक मल्टीमैप (कभी-कभी मल्टीहैश, मल्टीडिक्ट या मल्टीडिक्शनरी भी) एक सहयोगी सरणी [[अमूर्त डेटा प्रकार]] का एक सामान्यीकरण है जिसमें एक से अधिक मान किसी दिए गए कुंजी के साथ जुड़े और लौटाए जा सकते हैं। मानचित्र और मल्टीमैप दोनों [[कंटेनर (डेटा संरचना)]] के विशेष स्थितियां हैं (उदाहरण के लिए, [[C++]] [[मानक टेम्पलेट लाइब्रेरी]] मानक टेम्पलेट लाइब्रेरी#कंटेनर देखें)। अधिकांशतः मल्टीमैप को मानचित्र मानों के रूप में [[सूची (कंप्यूटिंग)]] या [[सेट (कंप्यूटर विज्ञान)]] के साथ मानचित्र के रूप में कार्यान्वित किया जाता है।


==उदाहरण==
==उदाहरण==
* एक छात्र नामांकन प्रणाली में, जहां छात्रों को एक साथ कई कक्षाओं में नामांकित किया जा सकता है, एक पाठ्यक्रम में प्रत्येक छात्र के नामांकन के लिए एक एसोसिएशन हो सकती है, जहां कुंजी छात्र आईडी है और मूल्य पाठ्यक्रम आईडी है। यदि एक छात्र तीन पाठ्यक्रमों में नामांकित है, तो एक ही कुंजी वाली तीन एसोसिएशन होंगी।
* एक छात्र नामांकन प्रणाली में, जहां छात्रों को एक साथ कई कक्षाओं में नामांकित किया जा सकता है, एक पाठ्यक्रम में प्रत्येक छात्र के नामांकन के लिए एक एसोसिएशन हो सकती है, जहां कुंजी छात्र आईडी है और मूल्य पाठ्यक्रम आईडी है। यदि एक छात्र तीन पाठ्यक्रमों में नामांकित है, तो एक ही कुंजी वाली तीन एसोसिएशन होंगी।
* किसी पुस्तक का सूचकांक किसी दिए गए सूचकांक शब्द के लिए किसी भी संख्या में संदर्भों की रिपोर्ट कर सकता है, और इस प्रकार सूचकांक शब्दों से किसी भी संख्या में संदर्भ स्थानों या पृष्ठों के लिए मल्टीमैप के रूप में कोडित किया जा सकता है।
* किसी पुस्तक का सूचकांक किसी दिए गए सूचकांक शब्द के लिए किसी भी संख्या में संदर्भों की रिपोर्ट कर सकता है, और इस प्रकार सूचकांक शब्दों से किसी भी संख्या में संदर्भ स्थानों या पृष्ठों के लिए मल्टीमैप के रूप में कोडित किया जा सकता है।
* [[ क्वेरी स्ट्रिंग ]] में एक ही फ़ील्ड से जुड़े कई मान हो सकते हैं। यह आमतौर पर तब उत्पन्न होता है जब एक [[ वेब फार्म ]] एक ही फॉर्म तत्व के जवाब में एकाधिक [[चेक बॉक्स]] या चयन चुनने की अनुमति देता है।
* [[ क्वेरी स्ट्रिंग ]] में एक ही फ़ील्ड से जुड़े कई मान हो सकते हैं। यह सामान्यतः तब उत्पन्न होता है जब एक [[ वेब फार्म ]] एक ही फॉर्म तत्व के उत्तर में एकाधिक [[चेक बॉक्स]] या चयन चुनने की अनुमति देता है।


==भाषा समर्थन==
==भाषा समर्थन==


===सी++===
===C++===
C++ की मानक टेम्पलेट लाइब्रेरी प्रदान करती है <code>multimap</code> [[स्व-संतुलन द्विआधारी खोज वृक्ष]] का उपयोग करके क्रमबद्ध मल्टीमैप के लिए मानक टेम्पलेट लाइब्रेरी#कंटेनर,<ref>{{cite web | url = http://www.sgi.com/tech/stl/Multimap.html | title = multimap<Key, Data, Compare, Alloc> | work = Standard Template Library Programmer's Guide | publisher = [[Silicon Graphics International]]}}</ref> और [[सिलिकॉन ग्राफिक्स इंटरनेशनल]] का एसटीएल एक्सटेंशन प्रदान करता है <code>hash_multimap</code> कंटेनर, जो [[हैश तालिका]] का उपयोग करके मल्टीमैप लागू करता है।<ref>{{cite web | url = http://www.sgi.com/tech/stl/hash_multimap.html | title = hash_multimap<Key, HashFcn, EqualKey, Alloc> | work = Standard Template Library Programmer's Guide | publisher = [[Silicon Graphics International]]}}</ref>
C++ की मानक टेम्पलेट लाइब्रेरी प्रदान करती है <code>multimap</code> [[स्व-संतुलन द्विआधारी खोज वृक्ष|स्व-संतुलन द्विआधारी खोज ट्री]] का उपयोग करके क्रमबद्ध मल्टीमैप के लिए मानक टेम्पलेट लाइब्रेरी#कंटेनर,<ref>{{cite web | url = http://www.sgi.com/tech/stl/Multimap.html | title = multimap<Key, Data, Compare, Alloc> | work = Standard Template Library Programmer's Guide | publisher = [[Silicon Graphics International]]}}</ref> और [[सिलिकॉन ग्राफिक्स इंटरनेशनल]] का एसटीएल एक्सटेंशन प्रदान करता है <code>hash_multimap</code> कंटेनर, जो [[हैश तालिका]] का उपयोग करके मल्टीमैप प्रयुक्त करता है।<ref>{{cite web | url = http://www.sgi.com/tech/stl/hash_multimap.html | title = hash_multimap<Key, HashFcn, EqualKey, Alloc> | work = Standard Template Library Programmer's Guide | publisher = [[Silicon Graphics International]]}}</ref>
 
C++11 के अनुसार, मानक टेम्पलेट लाइब्रेरी प्रदान करता है <code>unordered_multimap</code> अव्यवस्थित मल्टीमैप के लिए।<ref>{{cite web |url= http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf |title = वर्किंग ड्राफ्ट, प्रोग्रामिंग लैंग्वेज C++ के लिए मानक| page= 7807}}</ref>
C++11 के अनुसार, मानक टेम्पलेट लाइब्रेरी प्रदान करता है <code>unordered_multimap</code> अव्यवस्थित मल्टीमैप के लिए।<ref>{{cite web |url= http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf |title = वर्किंग ड्राफ्ट, प्रोग्रामिंग लैंग्वेज C++ के लिए मानक| page= 7807}}</ref>




Line 21: Line 23:
===जावा===
===जावा===
[[अपाचे कॉमन्स]] कलेक्शंस [[जावा (प्रोग्रामिंग भाषा)]] के लिए एक मल्टीमैप इंटरफ़ेस प्रदान करता है।<ref>{{cite web | url = https://commons.apache.org/proper/commons-collections/javadocs/api-3.2.2/org/apache/commons/collections/MultiMap.html | title = इंटरफ़ेस मल्टीमैप| work = Commons Collections 3.2.2 API, [[Apache Commons]]}}</ref> यह एक मल्टीवैल्यूमैप कार्यान्वयन वर्ग भी प्रदान करता है जो मैप ऑब्जेक्ट और एक प्रकार के संग्रह से मल्टीमैप बनाता है।<ref>{{cite web | url = https://commons.apache.org/proper/commons-collections/javadocs/api-3.2.2/org/apache/commons/collections/map/MultiValueMap.html | title = क्लास मल्टीवैल्यूमैप| work = Commons Collections 3.2.2 API, [[Apache Commons]]}}</ref>
[[अपाचे कॉमन्स]] कलेक्शंस [[जावा (प्रोग्रामिंग भाषा)]] के लिए एक मल्टीमैप इंटरफ़ेस प्रदान करता है।<ref>{{cite web | url = https://commons.apache.org/proper/commons-collections/javadocs/api-3.2.2/org/apache/commons/collections/MultiMap.html | title = इंटरफ़ेस मल्टीमैप| work = Commons Collections 3.2.2 API, [[Apache Commons]]}}</ref> यह एक मल्टीवैल्यूमैप कार्यान्वयन वर्ग भी प्रदान करता है जो मैप ऑब्जेक्ट और एक प्रकार के संग्रह से मल्टीमैप बनाता है।<ref>{{cite web | url = https://commons.apache.org/proper/commons-collections/javadocs/api-3.2.2/org/apache/commons/collections/map/MultiValueMap.html | title = क्लास मल्टीवैल्यूमैप| work = Commons Collections 3.2.2 API, [[Apache Commons]]}}</ref>
[[Google Guava]] एक मल्टीमैप इंटरफ़ेस और उसका कार्यान्वयन प्रदान करता है।<ref>{{cite web | url = http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html | title = Interface Multimap<K,V> | work = Guava Library 2.0 | access-date = 2013-01-01 | archive-url = https://web.archive.org/web/20130115105942/http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html | archive-date = 2013-01-15 | url-status = dead }}</ref>
 
[[Google Guava|गूगल गुवावा]] एक मल्टीमैप इंटरफ़ेस और उसका कार्यान्वयन प्रदान करता है।<ref>{{cite web | url = http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html | title = Interface Multimap<K,V> | work = Guava Library 2.0 | access-date = 2013-01-01 | archive-url = https://web.archive.org/web/20130115105942/http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html | archive-date = 2013-01-15 | url-status = dead }}</ref>
 




Line 28: Line 32:


===[[OCaml]]===
===[[OCaml]]===
OCaml का मानक पुस्तकालय मॉड्यूल <code>Hashtbl</code> एक हैश तालिका लागू करता है जहां एक कुंजी के लिए एकाधिक मान संग्रहीत करना संभव है।
OCaml का मानक पुस्तकालय मॉड्यूल <code>Hashtbl</code> एक हैश तालिका प्रयुक्त करता है जहां एक कुंजी के लिए एकाधिक मान संग्रहीत करना संभव है।


===स्कैला===
===स्कैला===
Line 37: Line 41:
* सामान्य रूप से प्रकार की अवधारणा के लिए सार डेटा प्रकार
* सामान्य रूप से प्रकार की अवधारणा के लिए सार डेटा प्रकार
* अधिक मौलिक अमूर्त डेटा प्रकार के लिए सहयोगी सरणी
* अधिक मौलिक अमूर्त डेटा प्रकार के लिए सहयोगी सरणी
* ऐसे मामले के लिए [[मल्टीसेट]] जहां एक ही आइटम कई बार दिखाई दे सकता है
* ऐसे स्थितियां के लिए [[मल्टीसेट]] जहां एक ही आइटम कई बार दिखाई दे सकता है


==संदर्भ==
==संदर्भ==

Revision as of 23:35, 4 August 2023

कंप्यूटर विज्ञान में, एक मल्टीमैप (कभी-कभी मल्टीहैश, मल्टीडिक्ट या मल्टीडिक्शनरी भी) एक सहयोगी सरणी अमूर्त डेटा प्रकार का एक सामान्यीकरण है जिसमें एक से अधिक मान किसी दिए गए कुंजी के साथ जुड़े और लौटाए जा सकते हैं। मानचित्र और मल्टीमैप दोनों कंटेनर (डेटा संरचना) के विशेष स्थितियां हैं (उदाहरण के लिए, C++ मानक टेम्पलेट लाइब्रेरी मानक टेम्पलेट लाइब्रेरी#कंटेनर देखें)। अधिकांशतः मल्टीमैप को मानचित्र मानों के रूप में सूची (कंप्यूटिंग) या सेट (कंप्यूटर विज्ञान) के साथ मानचित्र के रूप में कार्यान्वित किया जाता है।

उदाहरण

  • एक छात्र नामांकन प्रणाली में, जहां छात्रों को एक साथ कई कक्षाओं में नामांकित किया जा सकता है, एक पाठ्यक्रम में प्रत्येक छात्र के नामांकन के लिए एक एसोसिएशन हो सकती है, जहां कुंजी छात्र आईडी है और मूल्य पाठ्यक्रम आईडी है। यदि एक छात्र तीन पाठ्यक्रमों में नामांकित है, तो एक ही कुंजी वाली तीन एसोसिएशन होंगी।
  • किसी पुस्तक का सूचकांक किसी दिए गए सूचकांक शब्द के लिए किसी भी संख्या में संदर्भों की रिपोर्ट कर सकता है, और इस प्रकार सूचकांक शब्दों से किसी भी संख्या में संदर्भ स्थानों या पृष्ठों के लिए मल्टीमैप के रूप में कोडित किया जा सकता है।
  • क्वेरी स्ट्रिंग में एक ही फ़ील्ड से जुड़े कई मान हो सकते हैं। यह सामान्यतः तब उत्पन्न होता है जब एक वेब फार्म एक ही फॉर्म तत्व के उत्तर में एकाधिक चेक बॉक्स या चयन चुनने की अनुमति देता है।

भाषा समर्थन

C++

C++ की मानक टेम्पलेट लाइब्रेरी प्रदान करती है multimap स्व-संतुलन द्विआधारी खोज ट्री का उपयोग करके क्रमबद्ध मल्टीमैप के लिए मानक टेम्पलेट लाइब्रेरी#कंटेनर,[1] और सिलिकॉन ग्राफिक्स इंटरनेशनल का एसटीएल एक्सटेंशन प्रदान करता है hash_multimap कंटेनर, जो हैश तालिका का उपयोग करके मल्टीमैप प्रयुक्त करता है।[2]

C++11 के अनुसार, मानक टेम्पलेट लाइब्रेरी प्रदान करता है unordered_multimap अव्यवस्थित मल्टीमैप के लिए।[3]


डार्ट

क्विवर डार्ट (प्रोग्रामिंग भाषा) के लिए एक मल्टीमैप प्रदान करता है।[4]


जावा

अपाचे कॉमन्स कलेक्शंस जावा (प्रोग्रामिंग भाषा) के लिए एक मल्टीमैप इंटरफ़ेस प्रदान करता है।[5] यह एक मल्टीवैल्यूमैप कार्यान्वयन वर्ग भी प्रदान करता है जो मैप ऑब्जेक्ट और एक प्रकार के संग्रह से मल्टीमैप बनाता है।[6]

गूगल गुवावा एक मल्टीमैप इंटरफ़ेस और उसका कार्यान्वयन प्रदान करता है।[7]


पायथन

पायथन एक प्रदान करता है collections.defaultdict क्लास जिसका उपयोग मल्टीमैप बनाने के लिए किया जा सकता है। उपयोगकर्ता कक्षा को इस प्रकार त्वरित कर सकता है collections.defaultdict(list).

OCaml

OCaml का मानक पुस्तकालय मॉड्यूल Hashtbl एक हैश तालिका प्रयुक्त करता है जहां एक कुंजी के लिए एकाधिक मान संग्रहीत करना संभव है।

स्कैला

स्काला (प्रोग्रामिंग भाषा) प्रोग्रामिंग भाषा का एपीआई मल्टीमैप और कार्यान्वयन भी प्रदान करता है।[8]


यह भी देखें

  • सामान्य रूप से प्रकार की अवधारणा के लिए सार डेटा प्रकार
  • अधिक मौलिक अमूर्त डेटा प्रकार के लिए सहयोगी सरणी
  • ऐसे स्थितियां के लिए मल्टीसेट जहां एक ही आइटम कई बार दिखाई दे सकता है

संदर्भ

  1. "multimap<Key, Data, Compare, Alloc>". Standard Template Library Programmer's Guide. Silicon Graphics International.
  2. "hash_multimap<Key, HashFcn, EqualKey, Alloc>". Standard Template Library Programmer's Guide. Silicon Graphics International.
  3. "वर्किंग ड्राफ्ट, प्रोग्रामिंग लैंग्वेज C++ के लिए मानक" (PDF). p. 7807.
  4. "मल्टीमैप". Quiver API docs.
  5. "इंटरफ़ेस मल्टीमैप". Commons Collections 3.2.2 API, Apache Commons.
  6. "क्लास मल्टीवैल्यूमैप". Commons Collections 3.2.2 API, Apache Commons.
  7. "Interface Multimap<K,V>". Guava Library 2.0. Archived from the original on 2013-01-15. Retrieved 2013-01-01.
  8. "स्कैला.कलेक्शन.म्यूटेबल.मल्टीमैप". Scala stable API.