2010-05-18 15 views

उत्तर

27

कुछ उपयोग के मामलों:

मल्टीमैप

  • एक कुंजी के रूप ज़िप कोड के साथ, सभी लोग हैं जो कि ज़िप कोड
  • कुंजी के रूप में खाता आईडी के साथ
  • , उस व्यक्ति के सभी खुले आदेश/खाता
  • प्रति शब्द विभिन्न स्पष्टीकरण

मल्टीसेट

संक्षेप में एक कुंजी और एक पूर्णांक गणना वाला नक्शा है।

  • एक दुकान की सूची, सभी उत्पादों को अपने कुंजी और मात्रा में अभी भी उपलब्ध मूल्य
  • एक दुकान की संचित बिक्री डेटा, हर बार एक उत्पाद बेचा जाता है उत्पाद आईडी प्राप्त करने के करने के लिए जोड़ा है मल्टीसेट इस प्रकार
1

http://www.cplusplus.com/reference/stl/multimap/

मैप्स साहचर्य का एक प्रकार कंटेनर है कि एक महत्वपूर्ण मूल्य और एक मैप की गई मूल्य के संयोजन से निर्मित तत्वों संग्रहीत करता है, बहुत मानचित्र कंटेनर की तरह हैं, लेकिन अलग तत्वों के लिए अनुमति देने एक ही महत्वपूर्ण मूल्य।

यह एक प्रकार की रजिस्ट्री है जहां तत्व कुंजी साझा कर सकते हैं। आप कंपनियों और कर्मचारियों के बारे में सोच सकते हैं। सड़क का पता एक कुंजी है और कर्मचारी मूल्य हैं।

0

यहाँ Wikipedia के बारे में उपयोग करता है कहते है:

  • एक छात्र नामांकन प्रणाली, जहां छात्रों को एक साथ कई वर्गों में नामांकित किया जा सकता है, वहाँ में एक छात्र के प्रत्येक नामांकन के लिए एक संघ हो सकता है एक कोर्स, जहां कुंजी छात्र आईडी है और मान कोर्स आईडी है। यदि छात्र तीन पाठ्यक्रमों में दाखिला लिया गया है, वहां तीन संघ समान कुंजी होंगे।
  • एक पुस्तक के सूचकांक एक दिया सूचकांक अवधि के लिए संदर्भ के किसी भी संख्या रिपोर्ट कर सकते हैं, और इस तरह संदर्भ स्थानों
+3

क्या आप मल्टीसेट –

2

एक उदाहरण के किसी भी संख्या के सूचकांक शब्दों से कोई मल्टीमैप के रूप में कोडित किया जा सकता है जहां एक मल्टीमैप उपयोगी होगा यदि आपके पास ऐसी स्थिति थी जहां अधिकांश समय चाबियां अनूठी होती हैं, लेकिन कभी-कभी वे नहीं होती हैं।

उदाहरण के लिए, यदि आप एक कैश क्लास बना रहे थे जो एक हैश का उपयोग कुंजी के रूप में करता था। ज्यादातर समय दो अलग-अलग वस्तुओं में एक ही हैश नहीं होगा, इसलिए चाबियाँ अनूठी होंगी। लेकिन यह संभव है कि आपको विभिन्न वस्तुओं के लिए हैश टकराव मिले, इसलिए आप उस स्थिति को कवर करने के लिए एक बहुआयामी चाहते हैं।

एक और उदाहरण गैर-अद्वितीय इंडेक्स (डेटाबेस में) की तरह होगा।

एक मल्टीसेट के लिए - मुझे लगता है कि वे कम उपयोगी होंगे। केवल एक चीज जिसे मैं सोच सकता हूं, इसे स्वचालित रूप से क्रमबद्ध सूची के रूप में उपयोग करना होगा।

2

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

बहुत से शब्द एक से अधिक पृष्ठों पर दिखाई देंगे, इस मामले में आपके पास एक शब्द से अलग-अलग पृष्ठों में मैपिंग एकाधिक प्रविष्टियां होंगी। इसे संभालने का एक तरीका शब्दों से पृष्ठ संख्याओं में एक बहुतायत होगा।

0

मल्टीमैप का उपयोग करें, जहां भी आप पेड़ की तरह एक संरचना का उपयोग करना चाहते हैं।

+2

के लिए कोई उदाहरण दे सकते हैं [यह उत्तर स्वचालित रूप से एक नए उपयोगकर्ता द्वारा प्रदान किए गए पुराने प्रश्न के देर उत्तर के रूप में फ़्लैग किया गया था। यह टिप्पणी उस संदर्भ में है।] यह उत्तर किसी भी तर्क देने के लिए प्रतीत नहीं होता है या कोई शोध मूल्य है। इस प्रकार, कृपया या तो उत्तर को विस्तारित करने या पूरी तरह से हटाने पर विचार करें। धन्यवाद! – danfuzz

0

वेक्टर/सूची (या किसी अन्य कंटेनर) पर एक मल्टीसेट का उपयोग करने का सबसे महत्वपूर्ण लाभ खोज ऑपरेशन की समय जटिलता है। मल्टीसेट के लिए औसत केस टाइम जटिलता ओ (लॉगन) है और unordered_multiset ओ (1) है। Multimap और order_multimap के लिए भी यही सच है।