2010-03-26 8 views
10

का एक व्यावहारिक उपयोग-मामला दें, मैं कुछ व्यावहारिक उपयोग-मामलों को जानना चाहता हूं (यदि वे किसी भी प्रोग्रामिंग भाषा से संबंधित/बंधे नहीं हैं तो यह बेहतर होगा)। मैं सेट्स, सूचियों और सहयोगियों को जोड़ सकता हूं। व्यावहारिक उपयोग मामलों के लिए मानचित्र।मुझे मल्टी-सेट

उदाहरण के लिए यदि आप एक किताब जहां जिन शब्दों को आप वर्णानुक्रम में सूचीबद्ध कर रहे हैं चाहते हैं और एक स्थान/पेज नंबर मूल्य है की शब्दावली चाहता था, आप किसी भी तरह संग्रह ट्री-मैप (OrderedMap जो एक मानचित्र है)

का प्रयोग करेंगे , मैं किसी भी "व्यावहारिक" उपयोगकेस के साथ मल्टीसेट्स को संबद्ध नहीं कर सकता। क्या किसी को किसी भी उपयोग के बारे में पता है?

http://en.wikipedia.org/wiki/Multiset मुझे पर्याप्त बता नहीं है :)

पुनश्च: तुम लोग सोचते हैं कि यह समुदाय wiki'ed यह ठीक है होना चाहिए है। एकमात्र कारण मैंने ऐसा नहीं किया था "इस प्रश्न का उत्तर देने का एक स्पष्ट उद्देश्य है"।

+0

अब तक कहते हैं, कोई जवाब नहीं यहाँ वास्तव में एक अच्छा विवरण देता है। एक शॉपिंग कार्ट सिर्फ एक मैपिंग 'आइटम -> गिनती' है, जो एक नियमित शब्दकोश है। मल्टीसेट्स, ओटीओएच, संदर्भों में वास्तव में उपयोगी होते हैं जब हम अतिरिक्त रूप से "सेट यूनियन" और "सेट चौराहे" की सामान्यीकृत परिभाषा के लिए उपयोग पाते हैं। – Kos

उत्तर

9

बहुत सारे अनुप्रयोग। उदाहरण के लिए, एक शॉपिंग कार्ट की कल्पना करें। इसमें किसी आइटम के एक से अधिक उदाहरण हो सकते हैं - यानी 2 सीपीयू, 3 ग्राफिक्स बोर्ड इत्यादि। तो यह एक मल्टी-सेट है। एक सरल कार्यान्वयन प्रत्येक के आइटमों की संख्या का ट्रैक रखने के लिए है - यानी जानकारी 2 सीपीयू, 3 ग्राफिक्स बोर्ड इत्यादि के आसपास रखें

मुझे यकीन है कि आप कई अन्य अनुप्रयोगों के बारे में सोच सकते हैं।

1

मैथ के कुछ क्षेत्रों में, एक सेट को सभी उद्देश्यों के लिए एक मल्टीसेट के रूप में माना जाता है। उदाहरण के लिए, रैखिक बीजगणित में, रैखिक निर्भरता के परीक्षण के दौरान वैक्टरों का एक सेट मल्टीसेट के रूप में तंग किया जाता है। इस प्रकार, इन क्षेत्रों के कार्यान्वयन को मल्टीसेट के उपयोग से लाभ होना चाहिए।

आप कह सकते हैं रेखीय बीजगणित व्यावहारिक नहीं है, लेकिन यह है कि एक पूरी अलग बहस चल रही है ...

1

खरीदारी की टोकरी एक मल्टीसेट है। जब आप एक से अधिक खरीदना चाहते हैं तो आप शॉपिंग कार्ट में एक ही आइटम के कई उदाहरण डाल सकते हैं।

4

कई स्थितियों में एक मल्टीसेट उपयोगी है जिसमें आपके पास अन्यथा नक्शा होता है। यहां तीन उदाहरण दिए गए हैं।

मान लीजिए कि आपके पास एक एक्सेसर getType() के साथ क्लास फू है, और आप जानना चाहते हैं कि फू इंस्टेंस के संग्रह के लिए, प्रत्येक प्रकार के कितने हैं।

इसी तरह, एक प्रणाली विभिन्न क्रियाएं कर सकती है, और आप यह ट्रैक रखने के लिए एक मल्टीसेट का उपयोग कर सकते हैं कि प्रत्येक कार्यवाही कितनी बार हुई।

अंत में, यह निर्धारित करने के दो संग्रह, एक ही तत्व होते हैं कि क्या आदेश की अनदेखी लेकिन कितनी बार उदाहरणों दोहराया जाता है पर ध्यान देने के लिए, बस

HashMultiset.create(collection1).equals(HashMultiset.create(collection2))