Some Algorithm and Data Structure Stuff