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