मैं सिर्फ जावा String
वर्ग की .indexOf()
विधि के कार्यान्वयन को देख रहा था और ऐसा लगता है कि कोड के लेखक किसी दिए गए स्ट्रिंग में सबस्ट्रिंग को खोजने के लिए ब्रूट फोर्स एल्गोरिदम का उपयोग करते हैं। यही है, दृष्टिकोण ओ (एमएन) में चलता है, जहां एम और एन क्रमशः स्रोत और लक्ष्य तारों की लंबाई हैं।जावा में .indexOf विधि के लिए एल्गोरिदम का विकल्प
लेखक राबिन-कार्प जैसे अधिक कुशल एल्गोरिदम का उपयोग क्यों नहीं करते हैं, जिसमें एक अच्छा हैश फ़ंक्शन प्रदान किए जाने पर ओ (एम + एन) की रनटाइम जटिलता है?
मैं इस कार्यान्वयन के कारण के पीछे पूर्ण ज्ञान पर अनुपलब्ध हो सकता हूं और इसलिए समझना चाहता था।
क्या आप 'String.indexOf (स्ट्रिंग) 'के बारे में बात कर रहे हैं? 'substring() 'एक नया स्ट्रिंग बनाता है। – ILMTitan