Can you qualify this a little bit? I haven't used data structures since university. What are you expecting programmers to know and why?
Can you qualify this a little bit? I haven't used data structures since university. What are you expecting programmers to know and why?
I find that I need to have a strong working knowledge of data structures every day. Hashes, lists, trees, and so on. Knowing how to apply data structures in production code matters a lot: the difference between a hash lookup and a linear scan, for example, can mean the difference between a reasonable response time for an application and an absolutely terrible response time.
In interviews, I have found that good understanding of these data structures (and the algorithms one uses to manipulate them) correlates strongly with ability to solve larger and more complex problems.
Well, I guess it's possible, but I find it hard to imagine.
Guess I wasn't writing software for a living. Plenty of SV companies sure got that impression.
[1] http://www.amazon.com/Radar-Handbook-Edition-Merrill-Skolnik...
However, when people around here refer to "data structures" they mean a whole lot more than those two. All of the data structures listed in the post I was replying to are widely considered "standard" data structures that are used all the time. I was pointing out that I worked in a significant, operational codebase of >150,000 lines total that used only the most basic of data structures, and used those sparingly.
Whenever someone uses the term "data structures" I think about the inner workings of different types of B-tree's. And since I don't know the inner workings of the more advanced data structures, I would probably disqualify myself.