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