Algorithms and Data Structures (2007) [pdf]