मैं कुछ लिख रहा हूं जो पाठ का एक ब्लॉक लेता है और इसे संभावित डेटाबेस क्वेरीज़ में तोड़ देता है जिसका उपयोग पाठ के समान ब्लॉक खोजने के लिए किया जा सकता है। अद्वितीय की एक सरणी बनाने के शेष पाठ सेतारों की सरणी से अद्वितीय संयोजनों की सरणी बनाएं
- पाठ से निकालें रोकने वाले शब्द
- निकालें विशेष वर्ण
- ": (" इसी तरह के सवाल "सूची में ऐसी ही कुछ नहीं बनाया जा रहा है, जबकि मैं इस टाइप) बुनियादी प्रक्रिया उपजा "
- सरणी के संभव संयोजनों की एक सरणी बनाएँ तनों के (जहाँ मैं अटक कर रहा हूँ ... एक तरह से)
यहाँ मैं अब तक है:
//baseList starts with an empty array
//candList starts with the array of unique stems
//target is where the arrays of unique combinations are stored
function createUniqueCombos(baseList,candList,target){
for(var i=0;i<candList.length;i++){
//copy the base List
var newList = baseList.slice(0);
//add the candidate list item to the base list copy
newList.push(candList[i]);
//add the new array to the target array
target.push(newList);
//re-call function using new array as baseList
//and remaining candidates as candList
var nextCandList = candList.slice(i + 1);
createUniqueCombos(newList,nextCandList,target);
}
}
यह काम करता है, लेकिन पाठ 25 शब्दों या तो की तुलना में बड़ा के ब्लॉक पर, यह मेरी ब्राउज़र दुर्घटनाओं। मुझे एहसास है कि गणितीय रूप से संभावित संयोजनों की एक बड़ी संख्या हो सकती है। मैं क्या जानना चाहता हूं:
- क्या ऐसा करने का एक और अधिक प्रभावी तरीका है?
- मैं न्यूनतम/अधिकतम संयोजन सरणी लंबाई को कैसे परिभाषित कर सकता हूं?
यह एक शानदार पहला सवाल है। StackOverflow में आपका स्वागत है! आपका ब्राउज़र संभवतः इस्तेमाल की गई स्मृति की मात्रा, या बहुत अधिक रिकर्सिंग से क्रैश हो जाएगा। – Bojangles
क्या आपको वास्तव में एक ही समय में सभी संयोजनों की आवश्यकता है? क्या आप उन्हें बड़े पैमाने पर एकत्रित करने के बजाय उन्हें उत्पन्न नहीं कर सकते हैं? रिकर्सन के बजाय पुनरावृत्ति के लिए अपने एल्गोरिदम को फिर से लिखने का प्रयास करें। –
धन्यवाद, मैं कुछ समय के लिए एक दर्शक रहा हूं;) @ ओलेगवी। वोल्कोव नहीं, मुझे उन सभी संयोजनों की आवश्यकता नहीं है जिन्हें मैं लौटा संयोजन सरणी के लिए न्यूनतम/अधिकतम लंबाई परिभाषित करने में सक्षम होना चाहता हूं। पुनरावृत्ति सुझाव के लिए धन्यवाद। – HartyeTech