Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

नैव पैटर्न खोज


नैव पैटर्न खोज अन्य पैटर्न खोज एल्गोरिदम में सबसे सरल विधि है। यह मुख्य स्ट्रिंग के सभी कैरेक्टर की पैटर्न से जांच करता है। यह एल्गोरिदम छोटे टेक्स्ट के लिए सहायक है। इसे किसी प्री-प्रोसेसिंग चरण की आवश्यकता नहीं होती। हम स्ट्रिंग की एक बार जांच करके सबस्ट्रिंग ढूंढ सकते हैं। यह ऑपरेशन करने के लिए अतिरिक्त स्पेस भी नहीं लेता।

नैव पैटर्न खोज विधि की समय जटिलता O(m*n) है। m पैटर्न का आकार है और n मुख्य स्ट्रिंग का आकार है।

इनपुट और आउटपुट

इनपुट: मुख्य स्ट्रिंग: "ABAAABCDBBABCDDEBCABC", पैटर्न: "ABC" आउटपुट: पैटर्न स्थान पर मिला: 4 पैटर्न स्थान पर मिला: 10 पैटर्न स्थान पर मिला: 18

एल्गोरिदम

naivePatternSearch(pattern, text)

इनपुट - टेक्स्ट और पैटर्न

आउटपुट - स्थान, जहां पैटर्न टेक्स्ट में मौजूद हैं

Begin 
  patLen := pattern Size 
  strLen := string size 
  for i := 0 to (strLen - patLen), do 
    for j := 0 to patLen, do 
      if text[i+j] ≠ pattern[j], then 
        break the loop 
    done 
    if j == patLen, then 
      display the position i, as there pattern found 
  done 
End

उदाहरण

#include<iostream> using namespace std; void naivePatternSearch(string mainString, string pattern, int array[], int *index) { int patLen = pattern.size(); int strLen = mainString.size(); for(int i = 0; i<=(strLen - patLen); i++) { int j; for(j = 0; j

आउटपुट

Pattern found at position: 4 Pattern found at position: 10 Pattern found at position: 18
  1. JavaScript में संख्या पैटर्न JavaScript में संख्या पैटर्न

    हमें एक JavaScript और HTML प्रोग्राम लिखना है जो उपयोगकर्ता को एक टेक्स्ट इनपुट और बटन प्रदान करता है। जब उपयोगकर्ता इनपुट में कोई मान दर्ज करता है, मान लीजिए 5, और बटन पर क्लिक करता है, तो हमें स्क्रीन पर निम्नलिखित पैटर्न प्रिंट करना चाहिए। (n = 5 के लिए) 01 01 02 01 02 03 01 02 03 04 01 02 03 04

  1. HTML pattern एट्रिब्यूट: इनपुट वैलिडेशन के लिए रेगुलर एक्सप्रेशन HTML pattern एट्रिब्यूट: इनपुट वैलिडेशन के लिए रेगुलर एक्सप्रेशन

    HTML pattern एट्रिब्यूट एक रेगुलर एक्सप्रेशन (RegExp) निर्दिष्ट करता है जिसका मिलान <input> एलिमेंट के मान से किया जाता है फॉर्म सबमिशन के दौरान। यह कस्टम वैलिडेशन नियमों के लिए शक्तिशाली टूल है जैसे पासवर्ड जटिलता, फोन नंबर प्रारूप, कस्टम आईडी प्रारूप, आदि। सिंटैक्स (Syntax) <input patte

  1. C में हार्ट पैटर्न प्रिंट करना C में हार्ट पैटर्न प्रिंट करना

    इस प्रोग्राम में हम देखेंगे कि C में हार्ट शेप पैटर्न कैसे प्रिंट करें। हार्ट शेप पैटर्न ऐसा दिखेगा: अब यदि हम इस पैटर्न का विश्लेषण करें, तो हम इस पैटर्न में अलग-अलग सेक्शन पा सकते हैं। हार्ट का बेस एक उल्टा ट्रायंगल है; ऊपरी भाग में दो अलग-अलग पीक्स हैं। इन दो पीक्स के बीच एक गैप है। इस पैटर्न