140 likes | 324 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