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