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