So every time I get an interview, I get simple problems. The problem is, I seem to make a mess of it by writing inefficient algorithms that either take too much space or time. I am really not able to break down a problem into smaller parts and solve it using algorithms I would have used before.
Is there a reference (book or website) that describes the best practices and approaches of algorithm design? What about that resource makes it special?