Algorithm Design Techniques: Recursion, Backtracking, Greedy, Divide and Conquer, and Dynamic Programming Algorithm Design Techniques is a detailed, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer.
What's Inside
Enumeration of possible solutions for the problems.
Performance trade-offs (time and space complexities) between the algorithms.
Covers interview questions on data structures and algorithms.
All the concepts are discussed in a lucid, easy to understand manner.
Interview questions collected from the actual interviews of various software companies will help the students to be successful in their campus interviews.
Python-based code samples were given the book.