BS [Chapter 10.2]: Singly and doubly linked lists
BS [Chapter 11.1]: Added Direct Access Tables implementing a dictionary interface
BS [Chapter 11.2]: Added hash maps, but would like to reuse DoublyLinkedLists.
BS [Chapter 11.2]: Refactored HashMap to use DoublyLinkedList

And added data storage to LinkedLists and DoublyLinkedLists.
BS [Chapter 11.2]: Created sanity and fuzz tests for Dictionary implementations.
BS [Chapter 11.2]: Updated README
BS [Chapter 11.2]: Added statistical analysis for checking the distribution of a hash table.
BS [Util]: Started to test the randomness of arrays

But don't think I'm using the right approach here.
I'm not testing whether the values are random, but I'm
testing whether roughly the expected amount of values
have been generated. This can be easily proven by testing
a "random array" and checking its distribution.
BS [Chapter 11.4]: Hash tables with open addressing.

And several hashing functions/strategies: linear probing,
quadratic probing and double hashing.
BS [Chapter 10.2]: Fixed bug in singly list size
BS [Chapter 11.4]: Refactored open addressing hash table.
BS [Chapter 12.1]: Walking binary search trees.
BS [Chapter 12.2]: More work on binary search trees: searching, minimum, maximum, successor and predecessor
BS [Chapter 12.3]: Insertion and deletion into Binary Search Trees