यदि मेरे पास टैग का एक सेट है (< 100), और ऑब्जेक्ट्स का एक सेट (~ 25000), जहां प्रत्येक ऑब्जेक्ट में टैग के कुछ उप-सेट होते हैं, तो क्या आप किसी मौजूदा डेटा-स्ट्रक्चर के बारे में जानते हैं जो तेजी से अनुमति देगा उन वस्तुओं की पुनर्प्राप्ति जो टैग के कुछ बूलियन फ़ंक्शन को संतुष्ट करती हैं?डेटा संरचना गति-स्मृति टैग की गई ऑब्जेक्ट खोज में गति?
टैग और ऑब्जेक्ट्स को जोड़ना/हटाना विशेष रूप से तेज़ नहीं होना चाहिए, लेकिन उन ऑब्जेक्ट्स का चयन जो टैग्स के साथ बूलियन फ़ंक्शन को संतुष्ट करते हैं, होना चाहिए।
अब जब मैंने अपना प्रश्न नीचे लिखा है, ऐसा लगता है कि मैं एक मेमोरी डेटाबेस का वर्णन कर रहा हूं, लेकिन मूल रूप से मैं उन वस्तुओं के लिए संरचना जैसे कुछ बाइनरी पेड़ के बारे में सोच रहा था, जहां प्रत्येक शाखा के लिए बाईं ओर लेना/दाएं शाखा कुछ टैग के पास/निर्धारित करने का निर्णय लेने के बराबर होगी। लेकिन वह डॉन-केयर टैग की अनुमति नहीं देगा? मैं पूछ रहा हूं क्योंकि मुझे आश्चर्य हुआ कि यह पहले किया गया है और डेटा संरचनाओं के लिए Google को मुश्किल करना मुश्किल लगता है।
- अग्रिम धन्यवाद - धान।
मुझे लगता है कि यहां जवाब: http://stackoverflow.com/questions/3538322/many-to-many-data-structure-in-python एक इन-मेमोरी डीबी का उपयोग करना है। – Paddy3118
उपयोगकर्ता इनपुट के आधार पर बूलियन फ़ंक्शन अलग-अलग हो सकता है या यह केवल एक फ़ंक्शन (या, फ़ंक्शंस का ज्ञात सेट) है? यदि नहीं, तो डेटाबेस सबसे अच्छा विकल्प जैसा दिखता है और एक क्वेरी भाषा शायद आपकी सबसे अच्छी शर्त होगी। आप अन्यथा डेटाबेस को अनुकरण कर सकते हैं और इनपुट के आधार पर वृद्धिशील पेड़ का निर्माण कर सकते हैं और इस पेड़ को कैश कर सकते हैं (इंडेक्स के रूप में कार्य करता है)। – dirkgently
हाय dirkgently, समारोह उपयोगकर्ता इनपुट पर आधारित होगा, और परियोजना में जल्द ही आकलन करना मुश्किल होगा, लेकिन क्योंकि यह शुरुआती है - मैं विकल्पों का पता लगाना चाहता हूं। धन्यवाद। – Paddy3118