Algorithm design - Kleinberg, Jon (Pearson/Addison Wesley, 2006)