Summer 2003: Algorithm Library Design -- Projects

Project: Exact String Matching

The exact string matching problem is to find a short string such as a word in a long string such as a file. An introduction to exact string matching can be found in the lecture notes of the course Data Structures and Algorithms (Winter 01/02). More information including over 30 algorithms with implementations in C can be found here.

STL has an exact string matching algorithm under the name search. The implementation of search uses an algorithm known as the brute force or naive algorithm. There are more efficient algorithms (both in theory and in practice) but they are less generic, which means they place more restrictions on one or more of the following:

The goal of the project is to design and implement a version of search that uses more efficient algorithms when possible. The tasks include:


Juha Kärkkäinen <juha@mpi-sb.mpg.de>. Last modified on Tuesday, 17-Jan-2006 17:53:40 MET.