Programming Assignment 6

An Improved Text Processing System


Data Structures

Fall Semester 1997

Due: by 10:00 AM on Monday, December 15

Background: Your Text Processing System

For Project 3, you implemented a small system of classes to do a simple form of text analysis. Scholars use more advanced forms of such analysis as the starting point for determining the authenticity of texts. For example, many scholars actively debate whether the works attributed to William Shakespeare were actually written by various other people, most notably Edward de Vere, 17th Earl of Oxford.

Your implementation used two existing classes -- Stradt and List≤LE> -- and two classes of your own writing -- WordCount and TextAnalyst. Throughout the course of the project, we identified several potential shortcomings in the existing classes, particularly their implementations, and several potential shortcomings in the specification of the new classes. One shortcoming was simply a matter of data structure selection: Lists cannot provide efficient enough performance when our program must manipulate large collections of data. Hamlet and Much Ado About Nothing qulaify as large documents.

Your Tasks

Your task for Project 6 is to improve your text processing system in several ways.

  1. Improving the system in general.

  2. Improving the Stradt class.

  3. Improving the WordCount class.

  4. Improving the BST class.

  5. Improving the TextAnalyst class.

  6. Improving the driver program.

Source Files

Start with these source files. You should not need to re-copy them, since you downloaded them for Project 3, but here they are, just in case:

If you would like to start with "clean" files implemented for Project 3, here are mine. Feel free to use yours or mine, whichever you prefer.

Finally, here are the files for Berman's binary search tree ADT:


As always, your files must begin with a header block that includes the file name, your name as author, and the creation and modification history of the file. You may use this file as a template. And don't forget to follow the programming style sheet for the course!

Submit to your instructor, by the due time and date, the following:

Eugene Wallingford ==== ==== December 12, 1997