Algorithm design - Kleinberg, Jon (Pearson Education, 2006)