Phase 7: 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 HashSet<T> class template.
Here are some extra things you can try with your hash-table implementation.
- Adding an Iterator: Implement an iterator for your
HashSet<T>class template so that users can iterate through all elements in the hash set. - Implementing
erase: Implement anerasemember function for yourHashSet<T>class template that removes a specified element from the hash set. - Try Open Addressing: Create a new class template
OAHashSet<T>that implements a hash table using open addressing (with linear probing) instead of separate chaining.
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.)