I am trying to become a better developer by learning some algorithms such as recursion. What are the other algorithms that are very useful in a typical crud web application I don't want to waste my time learning some thing just for the sake of academic.
Please let me know.

mostly used algorithm
Will Merydith
It would be ideal to work in a team where you can have your code reviewed by more experienced developers and solution architects. For the customer I work for we are with 3 Solution Architects for about 40 .NET developers. We receive code-change notifications that are queued waiting for a code review. We try to do this as often as possible per project (let's say each 2 to 3 days per project). Don't get me wrong it is not criticize the work of the developers. The purpose is that during these code reviews we take notes of some common anti-patterns and monthly during a brown-bag session try to give some best practices. These best practices are added to the Guidance Explorer repository. Which is a great tool that can be downloaded from here:
http://www.gotdotnet.com/codegallery/codegallery.aspx id=bb9aecfe-56ba-4ca9-8127-44e551b90962
What you can do is download the Guidance Explorer and navigate through these best practices. This is propably what you are looking for, no
cgraus
My best advice is to learn about design patterns. They'll really start to give you an insight into how applications are generally built out of very similar sets of building blocks, by abstracting those building blocks you get a greater understanding of the art/science/craft that is programming:
This is my favourite programming book:
http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612
Also try to learn more about your methods of programming, how you work in a team and how to approach your understanding of the project rather than learning specific techniques. For that I'd advise:
Code Complete 2
http://www.amazon.com/Code-Complete-Second-Steve-McConnell/dp/0735619670/sr=1-1/qid=1166133795/ref=pd_bbs_1/002-3776569-1572861 ie=UTF8&s=books
and Pragmattic Programmer
http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/sr=1-2/qid=1166133795/ref=pd_bbs_2/002-3776569-1572861 ie=UTF8&s=books
Also, for specific enterprise development, try:
http://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420/sr=1-1/qid=1166133958/ref=pd_bbs_sr_1/002-3776569-1572861 ie=UTF8&s=books
Ulfaen
Behnam Fagih
Most of them.
I've been programming for 20 years, and one thing I've learned in that time is that it's impossible to remember everything you've ever written. If you teach yourself regular expressions, recursion or another technique, I guarantee you'll have pushed it to the back of your brain in six months, and when you come to use it you'll have to brush up again. So don't get too bogged down with learning a big list of techniques - I find it's far better to know what to do when I come across a situation that I haven't encountered before, than have a big list of things that might possibly be useful in the future.
I'd say understanding design patterns more than any other technique will help you more day in day out than learning a big list of techniques - it will help you abstract a problem and fit it to a common pattern. It's not just a mental exercise, it will make you see the bigger picture of how code fits together, and will give you more ideas for development
One thing you'll learn as you become a better programmer is that it's not about storing a big list of 'techniques' in your head. It's about knowing how to research techniques for yourself, understanding how to debug code properly and making large applications more manageable for the human brain (which just can't comprehend the quantity of code in todays large projects), plus many more things which aren't directly linked to learning a particular technique. So if you want to learn how to "Save" a project I'd seriously consider reading something like Pragmatic Programmer and Design Patterns.
rocky050371
macfarmw
I was hoping to get some more information on algorithms that you guys use often and start with that.
Thanks again for responding.
Brett H.
Try Fowlers Patterns of Enterprise Application Architecture for arechitectural patterns. There are so many books we could recommend.