The task is to process a file of text to produce a list of the 8-letter words contained in the document. To do this we must maintain a list of 8-letter words from the text. This can, of course, be done using an array. But it would not be very efficient. A better choice is to use a Binary Search Tree. With the Binary Search Tree, the word list will be maintained in alphabetical order. Design the program to process a text file (input the filename internally or through the command line). The output will be the alphabetical list of 8-letter words from the file. The program sequence should be: Repeat, for each line of text in the file; Read a String (a line of text). Decompose the string into tokens (the words). Then for _each 8-letter word_; search the Binary Search Tree for a node containing this word; if it is found, go to the next word. otherwise, insert a node for this word. The classes (etc.) you need are: class pTwoChildNode; class pGenericBinaryTree; class pBinarySearchTree; interface pComparable. Find a suitable text file, of at least two pages to test the program. Design your program so that the word length may be changed. Run your program again, to find the list of 10-letter words. Note: the data field of the BST nodes will be a String object, the word. You will need to implement the pComparable interface for String objects or use the regular JAVA Comparable interface for the comparisons.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 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.