Skip to content
Exact Online String Matching
Search
Cancel
GitHub
Select theme
Dark
Light
Auto
Algorithms
Automata
Introduction
Deterministic-Finite-Automaton
Reverse-Factor
Simon
Turbo-Reverse-Factor
Forward-DAWG-Matching
Backward-DAWG-Matching
Backward-Oracle-Matching
Double Forward DAWG Matching
Wide Window
Linear DAWG Matching
Improved Linear DAWG Matching
Improved Linear DAWG Matching 2
Extended Backward Oracle Matching
Forward Backward Oracle Matching
Succint Backward DAWG Matching
Simplified Extended Backward Oracle Matching
Simplified Forward Backward Oracle Matching
Backward SNR DAWG Matching
BSDM using q-grams and shift-xor
BSDMqx using multiple windows
Bit Parallelism
Introduction
Shift-Or
Shift-And
Backward-Nondeterministic-DAWG-Matching
BNDM for Long patterns
Simplified BNDM
Two-Way Nondeterministic DAWG Matching
Long patterns BNDM
Shift Vector Matching
BNDM with loop-unrolling
Simplified BNDM with loop-unrolling
BNDM with Horspool Shift
Horspool with BNDM test
Forward Nondeterministic DAWG Matching
Bit parallel Wide Window
Average Optimal Shift-Or
Fast Average Optimal Shift-Or
Forward BNDM
Forward Simplified BNDM
Bit-Parallel Length Invariant Matcher
BNDM with q-grams
Simplified BNDM with q-grams
FNDM with q-grams
Small Alphabet Bit-Parallel
BNDM with Extended Shifts
BNDMq Long
Q-Gram Filtering
Bit-Parallel2 Wide-Window
Bit-Parallel Wide-Window2
Factorized Shift-And
Factorized BNDM
Forward SBNDM using q-grams and Lookahead
SBNDM using Multiple Windows
Forward SBNDM using Multiple Windows
Improved Two-Way Shift-And
Improved Two-Way Shift-Or
Two-Way Shift-And using q-grams
Two-Way Shift-Or using q-grams
Comparison of Characters
Introduction
Brute-Force
Morris-Pratt
Knuth-Morris-Prat
Boyer-Moore
Horspool
Galil-Seiferas
Apostolico-Giancarlo
Karp-Rabin
Zhu-Takaoka
Quick-Search
Optimal-Mismatch
Maximal-Shift
Apostolico-Crochemore
Two-Way
Tuned-Boyer-Moore
Colussi
Smith
Galil-Giancarlo
Raita
String-Matching on Ordered ALphabet
Turbo-Boyer-Moore
Not-So-Naive
Reverse-Colussi
Skip-Search
Alpha-Skip-Search
Knuth-Morris-Pratt Skip-Search
Berry-Ravindran
Ahmed-Kaykobad-Chowdhury
Fast-Search
Forward-Fast-Search
Backward-Fast-Search
Tailed-Substring
Sheik-Sumit-Anindya-Balakrishnan-Sekar
Thathoo-Virmani-Sai-Balakrishnan-Sekar
Boyer-Moore-Horspool using Probabilities
Franek-Jennings-Smyth
2-Block Boyer-Moore
Wu-Manber for Single Pattern Matching
Boyer-Moore-Horspool with q-grams
Two Sliding Windows
Genomic Rapid Algo for String Pm
Bounded Boyer-Moore
Bounded Fast-Search
Bounded Forward-Fast-Search
Fast-Search using Multiple Windows
TVSBS using Multiple Windows
Max Shift Boyer-Moore
Max Shift Horspool
Enhanced Two Sliding Windows
Hashq using Multiple Hashing Functions
Enhanced Berry-Ravindran
Enhanced RS-A
Improved Occurrence Heuristics
Worst Occurrence Heuristics
Jumping Occurrence Heuristics
Simple String Matching
Quantum Leap Quick-Search
Enhanced ERS-A
Four Sliding Windows
Skip-Search using q-grams
Packed String Matching
Introduction
Super Alphabet Simulation
Packed String Search
Streaming SIMD Extensions Filter
Packed Belazzougui
Packed Belazzougui-Raffinot
Crochemore-Perrin algorithm using SSE instructions
Exact Packed String Matching
GitHub
Select theme
Dark
Light
Auto
Graph
Backward SNR DAWG Matching
Backward-DAWG-Matching
BSDMqx using multiple windows
BSDM using q-grams and shift-xor
Deterministic-Finite-Automaton
Backward-Oracle-Matching
Double Forward DAWG Matching
Extended Backward Oracle Matching
Forward Backward Oracle Matching
Linear DAWG Matching
Forward-DAWG-Matching
Improved Linear DAWG Matching 2
Improved Linear DAWG Matching
Reverse-Factor
Simon
Simplified Extended Backward Oracle Matching
Simplified Forward Backward Oracle Matching
Succint Backward DAWG Matching
Wide Window
Average Optimal Shift-Or
Turbo-Reverse-Factor
BNDM with Extended Shifts
BNDM with Horspool Shift
BNDM for Long patterns
BNDM with loop-unrolling
BNDM with q-grams
Backward-Nondeterministic-DAWG-Matching
BNDMq Long
Bit parallel Wide Window
Bit-Parallel Length Invariant Matcher
FNDM with q-grams
Bit-Parallel Wide-Window2
Introduction
Bit-Parallel2 Wide-Window
Factorized BNDM
Factorized Shift-And
Forward Nondeterministic DAWG Matching
Fast Average Optimal Shift-Or
Forward BNDM
Forward SBNDM using Multiple Windows
Forward SBNDM using q-grams and Lookahead
Forward Simplified BNDM
Improved Two-Way Shift-Or
Horspool with BNDM test
Improved Two-Way Shift-And
Q-Gram Filtering
Long patterns BNDM
SBNDM using Multiple Windows
Shift-And
Shift Vector Matching
Simplified BNDM with q-grams
Shift-Or
Simplified BNDM with loop-unrolling
Simplified BNDM
Small Alphabet Bit-Parallel
Two-Way Nondeterministic DAWG Matching
Two-Way Shift-And using q-grams
Two-Way Shift-Or using q-grams
2-Block Boyer-Moore
Ahmed-Kaykobad-Chowdhury
Alpha-Skip-Search
Apostolico-Giancarlo
Apostolico-Crochemore
Introduction
Backward-Fast-Search
Bounded Fast-Search
Berry-Ravindran
Bounded Boyer-Moore
Boyer-Moore-Horspool using Probabilities
Bounded Forward-Fast-Search
Boyer-Moore-Horspool with q-grams
Brute-Force
Boyer-Moore
Enhanced ERS-A
Colussi
Enhanced Berry-Ravindran
Enhanced RS-A
Enhanced Two Sliding Windows
Fast-Search using Multiple Windows
Fast-Search
Four Sliding Windows
Forward-Fast-Search
Galil-Seiferas
Franek-Jennings-Smyth
Galil-Giancarlo
Hashq using Multiple Hashing Functions
Genomic Rapid Algo for String Pm
Horspool
Jumping Occurrence Heuristics
Improved Occurrence Heuristics
Karp-Rabin
Knuth-Morris-Pratt Skip-Search
Knuth-Morris-Prat
Maximal-Shift
Max Shift Boyer-Moore
Max Shift Horspool
Not-So-Naive
Morris-Pratt
Optimal-Mismatch
Quick-Search
Quantum Leap Quick-Search
Sheik-Sumit-Anindya-Balakrishnan-Sekar
Raita
Reverse-Colussi
Simple String Matching
Skip-Search using q-grams
Skip-Search
Smith
TVSBS using Multiple Windows
String-Matching on Ordered ALphabet
Tuned-Boyer-Moore
Tailed-Substring
Thathoo-Virmani-Sai-Balakrishnan-Sekar
Two Sliding Windows
Turbo-Boyer-Moore
Wu-Manber for Single Pattern Matching
Worst Occurrence Heuristics
Two-Way
Zhu-Takaoka
Crochemore-Perrin algorithm using SSE instructions
Exact Packed String Matching
Packed Belazzougui-Raffinot
Packed Belazzougui
Packed String Search
Streaming SIMD Extensions Filter
Super Alphabet Simulation
Introduction
Introduction