आइटम है कि कम से कम कर रहे हैं का पता लगाएं


11

मूल्यों के सेट पर विचार करें (बिना डुप्लिकेट के साथ सॉर्ट किए गए सरणियों के रूप में प्रतिनिधित्व किया जाता है, और एक ज्ञात आकार के साथ (यानी। आकार को ओ (1) में प्राप्त किया जा सकता है।) मूल्यों को ओ (1) समय में समानता के लिए परीक्षण किया जा सकता है। मैं चाहता हूं कि मानों के सेट को प्राप्त करने के लिए जो n के बीच कम से कम k अलग-अलग सेट में मौजूद हैं ।nkn

ऐसा करने के लिए स्पष्ट एल्गोरिथ्म सभी सेटों के माध्यम से जाना है, प्रत्येक मूल्य की घटनाओं की संख्या की गणना करना है, और साथ उच्चतर संख्या वाले लोगों को वापस करना है । फिर भी, कुछ मामलों में, आप बेहतर कर सकते हैं: उदाहरण के लिए, जब n = k = 2 और जब एक सेट S 1 दूसरे सेट S 2 की तुलना में बहुत छोटा है , तो S 1 के सभी आइटमों को देखना और प्रदर्शन करना अधिक कुशल है इनमें से प्रत्येक के लिए एक द्विआधारी खोज एस 2 : द्विआधारी खोज दृष्टिकोण लागत हे ( | एस 1 | लॉग ( | एस 2 |kn=k=2S1S2S1S2 जबकि भोले के दृष्टिकोण में O ( | S 1 | + | S 2 | ) का खर्च आता है जो कि बदतर है | एस 1 | < < | एस 2 | O(|S1|log(|S2|))O(|S1|+|S2|)|S1|<<|S2|

इसे ध्यान में रखते हुए, हम भोली एल्गोरिथ्म की तुलना में किन स्थितियों में बेहतर कर सकते हैं? (यदि यह एक अच्छी तरह से ज्ञात समस्या है, तो मुझे इसका सामान्य नाम जानकर और संदर्भ देने में खुशी होगी। "


3
यह "टॉप-के" परिणामों की सामान्य श्रेणी के अंतर्गत आता है, या "भारी हिटर"। बाद वाला वही है जो आप खोज रहे हैं। इस अंतरिक्ष में अधिकांश काम बड़े डेटा सेट और सुपीरियर मेमोरी प्रतिबंधों पर केंद्रित होते हैं।
सुरेश वेंकट

9
O(|S1|log(|S2|/|S1|))

जवाबों:



1

आपकी समस्या बार-बार आइटम खोजने की डेटा माइनिंग समस्या के समान है , जिसे एसोसिएशन नियम सीखने के रूप में भी जाना जाता है । अगर मुझे सही तरीके से समझ में आ गया, तो आपकी समस्या कार्डिनलिटी 1 (यानी, सिंगलटन) के समर्थन के साथ >> k के लगातार आइटम खोजने के लिए कम हो सकती है । निश्चित रूप से, समस्या के लिए उपलब्ध एल्गोरिदम (जैसे एप्रीओरी, एक्लैट, डी-क्लब) आदि कार्डिनलिटी> 1 के लगातार आइटमों को निर्धारित करने की अनुमति देते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.