Computer Science 241
Hash Table Assignment
Due: October 14, 2002

Each group is to create a hash table for one part of the clowns project.  Groups 1, 2 and 3 should make a table to store information about the clowns.  Groups 4, 5 and 6 are to manage the table of facilities, and groups 7, 8 and 9 the donors (contributors).  Each group should create a file of test data and read this data into the hash table.  The data set should have at least 6 or 7 records (clowns, facilities, or donors).

Clowns, facilities, and donors all have addresses, and these are needed by the users of the program.  However, addresses can be long and messy, so for now, abreviate the address to just the telephone number and e-mail address.  Later on you can put in the mailing address, but for now, leave it out.  However, they will all need other fields including a key field.  That probably should be an identification number that you assign to each entry.  Id’s are usually strings, but you may change the program and use integers, if you wish.

Some actual clown names are Corny, Bonzo, Guffey, Charlie, Carlee, Theodorable, Noodles, and Raggedy Ann.  Suggestions for the facilities are General Hospital, Preschool Daycare Center, and the County Government.  Some of these facilities might also be donors.  But you can use any names for individual donors.

Clowns can be either amateur or professional.  The professional clowns receive a stipend along with their expenses.  Donors can be either facilities or individuals.  Facilities can be either public or private.  They are all non-profit.  This is a good place to use inheritance.

For the hash table, you may use any one of the collision strategies.  Write up a separate document that describes the method that you use and explain how it works.  Include specific choices that you made, such as how your hash function works and what you use to indicate a deleted record.  Also include a paragraph about how you divided up the work and who did which part(s).

As before, work with the members of your own group and not any others.  Hand in a printout of your Java program, a disk with the class files, and a document done with a word processor.  Make sure all the group members’ names are on each document.