Alex Rivera | Logout

Is it compulsory to learn about Data Structures if you want to be a Java/C++ programmer?

Asked 2010-05-07T07:46:50.373
16

So do I really need to learn about them ? Isn't there an interesting way to learn about stacks, linked lists, heaps, etc ? I found it a boring subject.

**While posting this question it showed some warning. Am I not allowed to post such a question ? Admins please clarify and I will delete it :/

Warning :: The question you're asking appears subjective and is likely to be closed.

okay..I get it So what is THE best way to learn them ? What book do I refer ? What website ?

Edit
Report

3 Answers

3

If you want some evidence for the importance of data structures, take a look at the Google hiring process. Whatever you think about Google as a company, there is no denying that they have some very good people working for them. Their interview process is setup to determine the candidates knowledge of data structures and algorithms. Because when it comes down to it, that is what is at the core of programming, no matter what language you are working in or what domain you are programming for.

If you are planning a career as a professional programmer, you need to know the fundamentals, not just how to crank out code that "works". Otherwise, your just playing.

answered 2010-05-07T13:13:18.810
2

I'd say it's compulsory at some point in your development to have a firm grasp. I'm not necessarily sure the standard Data Structures course is the best way to learn. Sometimes, the best way to learn them is "I have problem X. For some reason, it's taking my algorithm a long time to solve X. How can I make this faster?"

One book I'd highly recommend is Programming Pearls. It has some really good analyses, backed by a lot of examples of where the real-world motivations for the solutions came from. It presents the problems in an interesting manner, and never teaches by giving you a laundry list of data structures.

answered 2010-05-07T15:54:52.627
1
answered 2010-05-07T08:40:34.233

Your Answer