$24
Class which provides an ADT for a Dictionary Representation.The Dictionary is implemented used an ArrayList<String, which stores all of the words in the dictionary. The Dictionary class needs to be initialized with a single argument, which represents the file name/path of the dictionary file. The class comes with several instance methods to facilitate searching the dictionary. All of the searching algorithms are implementing via binary search. For example, a user can search to see if a word is in the dictionary. However, a user can also search to see if a certain prefix exists in words in the dictionary. (i.e., if the dictionary contains the word 'alphabet', the prefix 'alpha' exists in that dictionary).
Class which provides a user interface for the FindWords program. The program needs to be called with a single command line argument that contains the filename of a dictionary to be used for the program. The user is then prompted for a set of letters, and the program produces all of the possible words that can be created from those letters, which also are present in the dictionary.
Class which represents a set of n letters, and all of the permutations that can be formed from those letters, and all subsets of those letters (where the subset contains at least 2 letters). An object of type SetOfLetters must be instantiated with a String representing the n letters, and a vocabulary of type DictionaryList. The vocabulary is used to validate the permutations, as the only permutations that are acceptable are those that are also exit in the vocabulary.