स्ट्रिंग खोज एल्गोरिदम प्रोग्रामिंग में एक आवश्यक विधि है जिसका उपयोग एक बड़ी स्ट्रिंग के भीतर एक सबस्ट्रिंग की स्थिति का पता लगाने के लिए किया जाता है। इस एल्गोरिदम का उपयोग आमतौर पर टेक्स्ट या डेटा के भीतर विशिष्ट कीवर्ड, वर्ण अनुक्रम या पैटर्न की खोज के लिए किया जाता है। strpos() PHP में, स्ट्रिंग खोज करने के लिए और जैसी विभिन्न विधियाँ strstr() उपलब्ध हैं।
स्ट्रिंग खोज एल्गोरिथम कैसे काम करता है
स्ट्रिंग खोज एल्गोरिदम निम्नानुसार संचालित होता है:
- खोजने के लिए टेक्स्ट: सबसे पहले, हमें एक बड़ी स्ट्रिंग(टेक्स्ट, डेटा) की आवश्यकता है जिसके भीतर हम खोजना चाहते हैं।
- खोजने के लिए पैटर्न: हमें एक सबस्ट्रिंग(कीवर्ड, पैटर्न) की आवश्यकता है जिसे हम टेक्स्ट के भीतर ढूंढना चाहते हैं।
- स्ट्रिंग का मिलान: एल्गोरिदम पैटर्न के प्रत्येक वर्ण की तुलना पाठ में संबंधित वर्णों से करता है। यदि संबंधित वर्ण मेल नहीं खाते हैं, तो एल्गोरिदम अगली स्थितियों की जाँच करना जारी रखता है।
- वापसी की स्थिति: यदि सबस्ट्रिंग बड़ी स्ट्रिंग के भीतर पाई जाती है, तो एल्गोरिदम अपनी पहली घटना की स्थिति लौटाता है। यदि नहीं मिला, तो एल्गोरिदम एक गैर-मौजूद मान लौटाता है(उदाहरण के लिए, -1)।
स्ट्रिंग सर्च एल्गोरिथम के फायदे और नुकसान
लाभ:
- सरल और समझने योग्य: यह एल्गोरिदम लागू करने और उपयोग करने में आसान है।
- छोटी स्ट्रिंग्स के लिए अच्छा प्रदर्शन: छोटी स्ट्रिंग्स में खोज करते समय यह अच्छा प्रदर्शन करता है।
नुकसान:
- लंबी स्ट्रिंग्स के लिए खराब प्रदर्शन: लंबी स्ट्रिंग्स में खोज करने पर प्रदर्शन में काफी कमी आ सकती है।
- केवल पहली घटना ढूँढता है: एल्गोरिथ्म केवल सबस्ट्रिंग की पहली घटना की स्थिति लौटाता है।
उदाहरण एवं स्पष्टीकरण
आइए मान लें कि हमारे पास एक उत्पाद विवरण टेक्स्ट है, और हम यह जांचना चाहते हैं कि कीवर्ड screen "टेक्स्ट में दिखाई देता है या नहीं। नीचे PHP में स्ट्रिंग खोज करने का एक उदाहरण दिया गया है:
$text = "This product features a wide and high-quality screen.";
$keyword = "screen";
$position = strpos($text, $keyword);
if($position !== false) {
echo "The keyword \"$keyword\" was found at position $position in the text.";
} else {
echo "The keyword \"$keyword\" was not found in the text.";
}
इस उदाहरण में, हम टेक्स्ट के भीतर strpos() कीवर्ड की पहली घटना की स्थिति खोजने के लिए फ़ंक्शन का उपयोग करते हैं। screen यदि कीवर्ड मिल जाता है, तो उसकी पहली स्थिति मुद्रित होती है; यदि नहीं, तो एक संदेश प्रदर्शित होता है कि कीवर्ड नहीं मिला।
बुनियादी खोज मामलों के लिए सरल और प्रभावी होते हुए भी, स्ट्रिंग खोज एल्गोरिदम लंबे पाठों के साथ खराब प्रदर्शन कर सकता है और सबस्ट्रिंग की सभी घटनाओं को खोजने की क्षमता प्रदान नहीं करता है।



