Puzzles for Programmers and Pros by Dennis Shasha & Dennis E. Shasha