Foundations Of Algorithms by Richard Neapolitan & Richard E. Neapolitan