Third Advanced Data Structures Assignment, due December 13, 2013