Cut your teeth on? Is that a good or bad thing? Well, I took my data structure and algorithms class almost two years ago and want to refresh my memory. On a seperate note, if you're hired as a Java servlet/JSP developer, how important or useful would algorithm and data structure knowledge be? I didn't think, from my cursory overview of servlet/JSP tutorials, that algorithms and data structures were used very much in J2EE - related development. Thanks yall, Chris
Cutting teeth on --> teething. You get the idea. The funny thing about fields of study like algorithms is that you can get by without them just fine, until you discover what they are. Then you start wondering how you ever wrote a program to be begin. The point of their study is to think not in terms of program objectives but computational ones, i.e., solving a particular problem by devising the sequence of steps that require the least computational effort to achieve a correct result. In that sense, they're always applicable, but if the programming work is well-defined and simple, then there may be little call for invention.
i have never formally studied those subjects, but i think you are right that they arent used too much in servlets or jsp. you need to understand databases a little, but how many arrays will you use? i would have to look but i dont think i had any in my web app. performance can be important though but only if the site is popular
Data structures and algorithms are pretty much the foundations of computer science. While it is definitely possible to "program" without being aware of them, it's kind of like speaking a language with only a limited vocabulary. It's much easier to speak eloquently and succinctly if you know the correct words to use. In addition, these concepts apply to any programming language and will serve to make you language independant. As far as their use in servlets and jsps... I develope intranet apps that use these technologies and have made use of the knowledge quite often.
i guess what i meant was that every book that teaches a language covers them to some extent, and i have learned what i know about them gradually over the years. as for what jason said, i probly just dont notice how much i do rely on knowledge of them. i bet i even use patterns without knowing it. thats what i want to read about when i get time.
That said, books on algoriths and data structures usually aren't how-to books in the beginner's sense. They're often documentation of good or even optimal techniques, such as the GoF book on Design Patterns or Knuth's three-volume series on programming algorithms. Even Doug Lea's book on concurrent programmnig is really just a documenting of important patterns & algorithms for dealing with concurrent access. An algorithm, after all, isn't by nature a solution that does something well or efficiently. It's just a way to do something. The best books on the subject are best read when you have the idea that you could be doing something more effective than you already are, but aren't quite sure how to define problems and then attack them.