Hi Dinkar,
Thank you
1. That's a tough question. I don't know the ultimate answer... but for now, I think that books like mine can help train the reader on how to recognize when a data structure is needed. Maybe my book doesn't contain the specific data structure that they need, but hopefully with the background from the book they now know how to find it.
2. I agree! Sometimes we can get locked into a particular area of programming and lose the fundamentals. I don't know if this would be fun for you or others reading, but I really enjoy solving programming puzzles from programming competitions. I'm way too slow to actually compete, but I can compete with myself

these puzzles were a major motivator for me to write this book. I've kept writing about new puzzles/exercises to supplement the material in the book... you can check it out if you like:
https://danielzingaro.com/alg
Thank you,
Dan