String AlgorithmsAdvanced

Boyer-Moore String Matching

Efficient string searching algorithm using bad character and good suffix heuristics. Compares pattern from right to left, allowing large jumps on mismatch. Achieves sublinear time in practice, making it one of the fastest string matching algorithms.

#string#pattern-matching#heuristic#text-search

Complexity Analysis

Time (Average)

O(n)

Expected case performance

Space

O(m + σ)

Memory requirements

Time (Best)

O(n/m)

Best case performance

Time (Worst)

O(n × m)

Worst case performance

📚 CLRS Reference

Introduction to AlgorithmsChapter 32Section 32.5

Step: 1 / 0
500ms
SlowFast
Keyboard Shortcuts
Space Play/Pause StepR Reset1-4 Speed

Real-time Statistics

Algorithm Performance Metrics

Progress0%
Comparisons
0
Swaps
0
Array Accesses
0
Steps
1/ 0

Algorithm Visualization

Step 1 of 0

Initialize array to begin

Default
Comparing
Swapped
Sorted

Code Execution

Currently executing
Previously executed

Implementation

Boyer-Moore String Matching - Algorithm Vision