Find the relevance of documents

Due: 7 Nov 2012

Educational objectives: Implement a self-restructuring binary search tree, develop test cases to test the correctness of your software, and empirically compare the performance for different data structures.

Statement of work: (i) Implement a self-restructuring binary search tree class that self-restructures as specified below and (ii) implement a document retrieval program, which is a modification of that in assignment 3, but using your self-restructuring binary search tree to store the list of words in each document. You should not use an STL map or set in your implementation.

Deliverables: Turn in a makefile and all header (*.h) and cpp (*.cpp) files that are needed to build your software. Turn in your development log too, which should be a plain ASCII text file called LOG.txt in your project directory. You will submit all of these as described in www.cs.fsu.edu/~asriniva/courses/DS12/HWinstructions.html.

Requirements:

Sample file and executable: No sample executable will be provided. You need to write good test cases to check the correctness of your program.

Bonus points:

You will get 3 bonus points if your code is faster than our sample executable on some large tests which we will announce after the submission deadline. (Your code should also be correct.)

You may get up to 5 additional points for significant extra work, such as implementing more features (for example, determining that different forms of the same word, such as serve, served, serving, and serves are equivalent) or providing a GUI interface. Please obtain written permission from me prior to doing this. If you wish to get bonus points, then please submit your work as usual, but send an email to the John Nguyen. John will schedule a meeting with you, and you can demonstrate the special features of your software then.

Copyright: Ashok Srinivasan, Florida State University.


Last modified: 20 Oct 2012