Part [login to view URL] three hash table classes for String: one for linear probin, one for quadratic probing, and one for separate chaining. Put them in three different files. For linear and quadratic probing, rehash whenever the load factor exceeds 0.5. You can use the code from the textbook to generate the suitable prime number. For simplicity, assume there will be no deletion for the hash tables. For separate chaining, you will need to modify the linked list class a little bit (for String type). Part II. Write a program that, given a dictionary of words, finds all instances of those words in a grid of letters. This puzzle is similar to the word search puzzle, where you circle the words horizontally, vertically or diagonally in the grid, as described in 10.1 in Weiss (there are a total of 8 directions to read the letters from the grid). However, in this case, you’re not given a list of words to find. You have to find all the dictionary words in the grid. You will be given a dictionary (list) of English words. Use any one of the hash tables you implemented in Part I to quickly check if a particular combination of letters is a word in the dictionary. Ignore cases (you can assume that everything in the grid will be in lower-cases), and consider only words that are at least two characters long. You will be given an input grid and a dictionary file (i.e. list of words). The first line in the input grid file is the number of rows, and the second line is the number of columns. The grid data begins on the 3rd line. The following is an example of what an input grid file looks like:
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Windows XP Java 1.5