Assignment 5

Due: 25 Nov 2014

Educational objectives:

Statement of work: Implement a hash function for strings that performs well with the dictionary application using the STL tr1/unordered_set container, implement an efficient data structure for the dictionary application, and compare the performance of the STL set and STL tr1/unordered_set with the default hash function and your hash function against your data structure. You will be graded on the performance and correctness of your code. So, please use good compiler optimization flags in your makefile.

Deliverables:

Requirements:

Note:

  1. We may test your MyDS class and hash function object on a piece of code that we will write. So, it is important for they be exactly as specified.
  2. Your code should be correct for any dictionary and text file that meets the above specifications. However, for the purpose of designing efficient data structures, you may assume that the dictionary contains words that are in sorted order and that the text file contains typical English words. This means that if the above assumptions are satisfied, then your code will run fast. If the above assumptions are not satisfied, then your code should still be correct, even though it may not be efficient.
  3. Providing fake times will be considered a serious ethical violation.
  4. You may lose points if your code is slow.

Bonus points (5):

You may get up to 50 additional points if your code is correct and the fastest in class. You may get up to 25 bonus points if MyDS or your hash function works correctly and is faster that the two STL containers (the speed of the STL containers will be determined by a piece of code that we write, in determining the bonus points).

Copyright: Ashok Srinivasan, Florida State University.


Last modified: 6 Nov 2014