These are the teams for project 6.

teamprojectmembers
0 Brian Hague, Chris Lacher
1ANicholas Goote, Carlos Munoz, Redge Allen, Mathew Streich
2AApril Byrne, Brandi Frisbie, Joe McMillan
3ADylan Sprague, Jason Bunyea, Caroline Willis
4BRobert Mooneyham, William Blough, Brian Howell
5BBipol Alam, Derrick Bacon, Talor Gannaway, Brandon Sheffield
6CMatthew Tannehill, Sean Seltzer, Gustavo Maturana, Damien King-Acevedo
7AAmir Yousef, Shawn Suit, Benjamin Carothers, Caelan Alonge
8AJacqueline Smith, William Bassett, Kevin Hall, Wei Huang
9BAndrew Kusel, Chad Duncan, Dan Nguyen
10ASheena Salmon, Ronald Acebedo, Daniel McNaughton, Glenn Hall
11ATrevor Richardson, Joseph Young, Robert Vanhoose
12AGregory Brown, Mathew Williams

Project Options

  1. String Sorts. Develop optimized implementations of the three string (key) sort algorithms LSD, MSD, and QS-3W, and conduct experiments with different alphabets and and string population characteristics with recommendations on when to use which sort.

  2. Monte Carlo & Las Vegas Substring Search. Develop the Rabin-Karp substring search algorithm, in both Monte Carlo and Las Vegas modes. Pay careful attention to efficient calculation of hash values, both in terms of speed and uniformity of distribution. Then offer a design plan to upgrade the algorithm to search for 2-dimensional patterns in a 2-dimensional array of characters.

  3. Grep. Produce an implementation of the classic grep search facility. A small subset of special characters may be used, but it should include at least wild cards and enough syntax to make searches workable from the command line. An implementation of the classes GREP ("get regular expression pattern") and NFA ("non-deterministic finite automoton") is required.