Given a text txt[0..n-1] and a pattern pat[0..m-1], write a function search(char pat[], char txt[]) that prints all occurrences of pat[] in txt[]. You may assume that n > m.
Examples:
Input: txt[] = "THIS IS A TEST TEXT"
pat[] = "TEST"
Output: Pattern found at index 10
Input: txt[] = "AABAACAADAABAABA"
pat[] = "AABA"
Output: Pattern found at index 0
Pattern found at index 9
Pattern found at index 12
Pattern searching is an important problem in computer science. When we do search for a string in notepad/word file or browser or database, pattern searching algorithms are used to show the search results.
Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution.
PHP
<?php// PHP program for Naive Pattern// Searching algorithmfunction search($pat, $txt){ $M = strlen($pat); $N = strlen($txt); // A loop to slide pat[] // one by one for ($i = 0; $i <= $N - $M; $i++) { // For current index i, // check for pattern match for ($j = 0; $j < $M; $j++) if ($txt[$i + $j] != $pat[$j]) break; // if pat[0...M-1] = // txt[i, i+1, ...i+M-1] if ($j == $M) echo "Pattern found at index ", $i."\n"; }} // Driver Code $txt = "AABAACAADAABAAABAA"; $pat = "AABA"; search($pat, $txt); // This code is contributed by Sam007?> |
Pattern found at index 0 Pattern found at index 9 Pattern found at index 13
Time Complexity: O(M * (N – M + 1)), where M and N represents the length of the given strings.
Auxiliary Space: O(1), no extra space is required, so it is a constant.
Please refer complete article on Naive algorithm for Pattern Searching for more details!
<!–
–>











Please Login to comment…