During 1990s when there were no advanced frameworks/paradigms available for S/W development , knowledge on data structures was critical... which I can comprehend.

But nowadays, for most of the problems (at least from Java/Android development) we can rely on an existing class to provide solution. As such I believe, an in depth knowledge of data structures is not needed for someone who is stepping into programming now.

Is my belief right ?.


2 Answers 2


You are partially right. Nowadays, only a few people need to be able to correctly and efficiently implement algorithms and a lot of tasks can be completed successfully without knowing all that much about algorithms.

On the other hand, knowing about the different algorithms that are commonly used in the kind of software you usually write and their strengths and weaknesses can also be a tremendous advantage in creating better performing software (or at least, avoiding writing complete crap) and in understanding some of the bottlenecks.


It's still vital to know about data structures. What collection implementation should you store your data in? Do you want it to be Mutable or Immutable? What BigO characteristics do you want for inserting entries, searching for entries, reading entries out? What memory limitations are you under? Is that data structure cacheable?

I could go on and on! Although most day to day developers do not need to write their own data structures, but understanding them and choosing the right one for the right use case is a vital as ever.

  • Agreed! The knowledge has never gotten any less critical - it's just that now that knowledge is required to choose the correct data structure from a standard library more than it is to implement one. Sep 21, 2013 at 23:58

Not the answer you're looking for? Browse other questions tagged or ask your own question.