Phase 9: More Fun with Hash Tables (Optional)
This part of the assignment is optional. Doing some aspect of this part will add up to three bonus points to your overall Homework 8 score; as always, the reason to do the optional is not to get points, but to learn more!
If you decide to do this part, add a file named Fun.md to your repository and be sure to describe what you did and how to run it in that file. You can also add any additional test cases you created to hashset-test.cpp, but, when submitting, you should comment out any tests that would fail on the unmodified version of your HashMultiset<T> class template.
There are two categories of extra things you can try: modifying the hash table itself, or trying to make a more accurate classifier.
Here are some ideas for extra things you could try for modifying the hash table itself:
- Adding an Iterator: Implement an iterator for your
HashMultiset<T>class template so that users can iterate through all elements in the hash set. - Implementing
erase: Implement anerasemember function for yourHashMultiset<T>class template that removes a specified element from the hash set. - Try Open Addressing: Create a new class template
OAHashMultiset<T>that implements a hash table using open addressing (with linear probing) instead of separate chaining.
Here are some ideas for extra things you could try for modifying the machine learning portion to make the classifier more accurate:
- Adding new Features: Expand the number of features in the classifier by adding some (possibly manually implemented) features to the feature vectors.
- Feature Selection: Reduce the number of features in the classifier (which may improve accuracy by eliminating noise) by filtering out features that are too rare.
For most pairs, picking just one of these options is plenty to feel like you've done something extra. But if you're feeling ambitious, you can try more than one!
Meh. I'm not doing any of this optional stuff.
Oh, come on! This is where the fun is!
It's a chance to learn MORE!
Hay! I'm getting an odd sense of déjà vu…
(When logged in, completion status appears here.)