120 likes | 209 Views
Knuth-Morris-Pratt. KMP algorithm. [over binary alphabet] Build DFA from pattern. Run DFA on text. Search Text. a. a. a. b. a. a. b. a. a. a. b. a. a. b. a. a. a. b. a. a. a. a. a. b. a. b. 0. 1. 3. 4. 2. 5. 6. accept state. b. b. b.
E N D
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a a a b a a a a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a a a b a a a a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a a a b a a a a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a a a b a a a a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b
Knuth-Morris-Pratt • KMP algorithm. [over binary alphabet] • Build DFA from pattern. • Run DFA on text. Search Text a a a b a a b a a a b a a b a a a a a b a a a a a b a a a b a a a a a b a b 0 1 3 4 2 5 6 accept state b b b