Pattern Searching

  • Last Updated : 26 Sep, 2023

DSA for Beginners
Learn more about Pattern Searching in DSA Self Paced course
Practice Problems on Pattern Searching

The Pattern Searching algorithms are sometimes also referred to as String Searching Algorithms and are considered as a part of the String algorithms. These algorithms are useful in the case of searching a string within another string.

Pattern Searching Algorithms
Topics :


  1. Introduction to Pattern Searching – Data Structure and Algorithm Tutorial
  2. Naive Pattern Searching

Some Standard Algorithms:

  1. Rabin-Karp Algorithm
  2. KMP Algorithm
  3. Z algorithm (Linear time pattern searching Algorithm)
  4. Finite Automata
  5. Boyer Moore Algorithm – Bad Character Heuristic
  6. Aho-Corasick Algorithm for Pattern Searching
  7. Suffix Array
  8. kasai’s Algorithm for Construction of LCP array from Suffix Array
  9. Online algorithm for checking palindrome in a stream
  10. Manacher’s Algorithm – Linear Time Longest Palindromic Substring – Part 4
  11. Ukkonen’s Suffix Tree Construction – Part 1
  12. Generalized Suffix Tree

Some Practice problems:

  1. Pattern Searching using C++ library
  2. Anagram Substring Search (Or Search for all permutations)
  3. Pattern Searching using a Trie of all Suffixes
  4. Dynamic Programming | Wildcard Pattern Matching | Linear Time and Constant Space
  5. Longest prefix which is also suffix
  6. Count of number of given string in 2D character array
  7. Find all the patterns of “1(0+)1” in a given string (General Approach)
  8. Maximum length prefix of one string that occurs as subsequence in another
  9. Wildcard Pattern Matching
  10. Search a Word in a 2D Grid of characters
  11. String matching where one string contains wildcard characters
  12. Suffix Tree Application 1 – Substring Check

Quick Links: