AlgorithmBest Case TimeAverage Case TimeWorst Case TimeSpace Complexity
Naive Pattern SearchingO(n)O(n)(O(mΓ—(nβˆ’m+1))(O(m \times (n - m + 1)) or (O(nβ‹…m))(O(n \cdot m))O(1)
Naive Searching (Distinct Pattern Chars)O(n)O(n)O(n)O(1)
Rabin-KarpO(n + m)O(n + m)(O(n * m))O(1)
Knuth-Morris-Pratt (KMP)O(n)O(n + m)O(n + m)O(m)

1. Naive pattern matching (general + distinct case)

πŸ”— Naive Pattern Searching (General + Distinct Characters Optimization)

2. Rabin Karp algorithm

πŸ”— Rabin Karp algo

3. Knuth-Morris-Pratt (KMP) algorithm

πŸ”— KMP algorithm

Local Graph View

Start typing to search
Try: two sum or #Arrays or #Amazon