... From my perspective, the hardest thing people have to learn about data structures and algorithms is when not to use them, which is nearly always. They are the craftsman tools from which you pick and choose the right one, carefully, and apply it, surgically. You don’t pour them over every problem. That's how monster programs with abysmal performance get created.