Implementation of various data structures based on UIUC course CS 225.