This is the second of the two projects I prepared for this spring. For this project I’ve focussed on implementing data structures in Python, namely hash maps and hash tables. In these implementations I demonstrate two different methods for avoiding hash colisions: open addressing with quadratic probing; and separate chaining.
While data structures might seem bit mundane I actually had a lot of fun with this one! I felt much more confident in this project than I have in the past as well. It’s really exciting to see the progress I’ve made since last fall and I can’t wait to share more in the future. See the project page for more details about the implementations or take a look at the source code if you’d like.