You will create a spell checker using a hash table. When the program starts, you will open a dictionary file named "Dictionary.wrd." This file contains the 1000 (or so) most commonly used words in English. You should create a hash function to hash the words (possibly after inspecting the file to determine attributes of the words) into a table. The hash table will be of a size that you will determine and it will employ the collision resolution strategy of your choice. You will then offer the user a prompt to enter a text file name to be checked. When the checking proceeds, you will extract a word from the file to be checked, hash it into the table, and determine if it exists. You will continue this process until you have checked all the words in the file. Each time you find a word that you cannot match in the dictionary, you will let the user know and you will attempt to generate a list of suggested words. You will generate the list by assembling similar words via three methods: 1. One letter missing. You assume that one letter has been left out of the word. You can assemble new words to check by adding letters a..z in each of the positions in the word from the start to the end of the word. 2. One letter added. You assume the word has an extra letter. You scan through the word deleting each of the letters in turn, and looking up the word formed by the remaining letters. 3. Two letters reversed. You swap letters in positions 0..1, 1..2, 2..3, ... , n-2..n-1, to form new words which you look up. Each time you find a legal word from any of the three methods, you add it to the suggestion list, which you present to the user when you have finished this part of the process. If you cannot identify any suggestions, let the user know. When the checker finishes checking a document, it should report three values: 1 ??" The number of times a word was hashed. (Excluding building the hash table initially.) That will include looking up each word in the document plus all of the lookups needed for suggestions. 2 ??" The number of compares to find (or not find) all of the words listed in number 1. 3 ??" The average number of compares for a search. This code is a homework assignment, please keep it at an intermmediate level. Will need a main that will accept a text file as input from the user. The file will contain common punctuation and mispelled words.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work [url removed, login to view] functions and classes to be commented. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased. 4)