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