हेलो स्टैक ओवरफ़्लो लोग। मुझे निम्नलिखित समस्या के बारे में कुछ सुझाव चाहिए। मैं जावा का उपयोग कर रहा हूँ।किसी शब्दकोश से अन्य स्ट्रिंग में मिलान करने वाले सबस्ट्रिंग्स: सुझाव?
मेरे पास कई स्ट्रिंग्स के साथ एक सरणी # 1 है। उदाहरण के लिए, दो तार हो सकते हैं: "एक सेब न्यूटन के सिर पर गिर गया" और "पेड़ पेड़ पर उगते हैं"।
दूसरी तरफ, मेरे पास एक और सरणी # 2 है जैसे कि फल (> ऐप्पल, ऑरेंज, पीच; आइटम => पेन, बुक; ...)। मैं इस सरणी को अपना "शब्दकोश" कहूंगा।
वस्तुओं को एक सरणी से दूसरे में तुलना करके, मुझे यह देखने की ज़रूरत है कि # 1 से आइटम "श्रेणी" # 2 से आते हैं। जैसे # 1 से दोनों "फल" के अंतर्गत आते हैं।
मेरा सबसे महत्वपूर्ण विचार गति है। मुझे उन परिचालनों को तेजी से करने की ज़रूरत है। निरंतर समय पुनर्प्राप्ति की अनुमति देने वाली संरचना अच्छी होगी।
मैंने इसमें हैशसेट को() विधि के साथ माना है, लेकिन यह सबस्ट्रिंग की अनुमति नहीं देता है। मैंने असंवेदनशील ध्वज के मामले में रेगेक्स (सेब | नारंगी | आड़ू | ... आदि) चलाने की भी कोशिश की, लेकिन मैंने पढ़ा कि यह संख्या तेज नहीं होगी जब संख्या संख्या में वृद्धि होगी (न्यूनतम 200 उम्मीद की जा सकती है)। अंत में, मैंने खोज की, और इंडेक्सऑफ() के साथ एक ऐरेलिस्ट का उपयोग करने पर विचार कर रहा हूं लेकिन मुझे इसके प्रदर्शन के बारे में पता नहीं है। मुझे यह भी जानने की जरूरत है कि वास्तव में कौन सी शब्द मेल खाती हैं, इसलिए इस मामले में, यह "ऐप्पल" होगा।
कृपया इस समस्या पर अपने विचार, विचार और सुझाव प्रदान करें।
मैंने अहो-कोरासिक एल्गोरिदम देखा, लेकिन कीवर्ड/शब्द अक्सर बदलने की संभावना है। इसलिए मुझे नहीं लगता कि मैं इसका उपयोग कर सकता हूं। ओह, मैं पाठ खनन और गणित में कोई विशेषज्ञ नहीं हूं, इसलिए जटिल अवधारणाओं पर विस्तृत जानकारी दें।
धन्यवाद, आपके समय के लिए, ओवरफ्लो लोगों को ढेर करें! :)
मैंने प्रत्यय पेड़ की जांच की है। यह ट्री संरचना के समान लगता है कि अहो-कोरासिक अल्गो का उपयोग करता है। मेरी चिंता यह है कि मेरे पास कई श्रेणियां हैं, और प्रति श्रेणियों में कई शर्तें हैं। प्रत्येक श्रेणी के लिए एक पेड़ बनाना मेरे लिए अक्षम लगता है। धन्यवाद मैटके! –
असल में, मुझे नहीं लगता कि आपको प्रत्येक श्रेणी के लिए एक पेड़ बनाने की आवश्यकता होगी। आप एक एकल प्रत्यय पेड़ में एकाधिक तारों को सम्मिलित करने में सक्षम होना चाहिए, और प्रत्येक वैध स्ट्रिंग के पेड़ में समाप्ति बिंदु पर किसी श्रेणी ऑब्जेक्ट का संदर्भ जोड़ें। – MattK
यह विचार दिलचस्प है! लेकिन मैं आपके उत्तर के "श्रेणी वस्तु के संदर्भ को जोड़ने" को समझ नहीं पा रहा हूं। मैं उसको कैसे करू? –