The reader I had in mind is someone who knows a programming language but who doesn't know about data structures and algorithms yet. Or maybe they know about sorting and searching already but want to learn more about how to make their code efficient.
Ahh and yes, you're right: my goal is to help people think about how to develop/design algorithms. I spend a lot of time talking about why algorithms work (why they are correct), why a given algorithm is useful for the current problem, why other techniques are not appropriate... I do want to teach specifics of hash tables and dynamic programming and graphs etc., but more than that, I want people to feel empowered to design their own and not to be intimidated by the subject.
One interesting challenge for me here was to try to do this without math or proofs. I just think readers deserve to know why things work, not just how, and that we can do this in an accessible way. I don't know how much I've managed it with this book, of course -- that's up to the readers to say. But I'll certainly keep trying.
Thanks, CodeRanch, for talking with me about my algorithms book! www.danielzingaro.com/alg