I want to learn kernel programming but before that I want to have firm understanding of data structures and algorithms in C. I am a beginner in this field. Can you refer any book or resources that What I mean is, for example, I learnt x86 assembly from Jeff Duntemann's "Assembly Language Step-by-Step: Programming with Linux" which described the whole topic in a very different way, unlike other books.
Is there a book out there that's the de-facto standard for describing best practices, design methodologies, and other helpful information on data structure and algorithms in C, that focuses on the concept and teach how to develop thinking in data structure and algorithms instead of just explaining different algorithms? What about that book makes it special?