Lecture 23

Learning objectives

After this class, you should be able to:

  1. Define a finite automaton that performs some simple, specified, task.
  2. Given a pattern, construct a finite automaton that can find valid shifts for that pattern for any text.
  3. Given a pattern and a text, show each step of the algorithm for string matching using a finite automaton.
  4. Give reasons to justify the correctness of the finite automaton construction for string matching, and its time complexity.
  5. Prove simple properties of strings, such as lemma 32.2.

Reading assignment

  1. CLR: Section 32.3.

Exercises and review questions


Last modified: 13 Nov 2008