Text this: Design and analysis of algorithms / Jeffrey D. Smith.