Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Possible Duplicate:
Is there a canonical reference on algorithm design?

I an Electronics guy.. with a great interest on programming I am learning it myself. So, when ever I pick up a puzzle (Project Euler) I tend to do it in brute force way and I find it to be worst possible way even though I could do it..

So, I wish to improve my algorithm skills.. I know C, python(still learning OOP) Could you please suggest a good book for it?

I am looking for a book consisting these features: - If you find any of these wouldn't help me, please mention.

  1. Easy to learn
  2. Shouldn't be too much wordy(repetitive and all..)
  3. Good number of practice exercises
share|improve this question
1  
Would you consider a language-agnostic textbook, or do you want something that is hands-on? I learned algorithms on paper mostly. I find that you can find an algorithm on Wikipedia and find a number of implementations. – Job Dec 18 '11 at 17:10
This free undergrad online class uses the same book that I used at a different school. I loved it. ocw.mit.edu/courses/electrical-engineering-and-computer-science/… – Job Dec 18 '11 at 17:25
2  
It also depends upon your skills in mathematics. – Basile Starynkevitch Dec 18 '11 at 17:28
I'm with @Basile on this one -- Project Euler is great, but they are intentionally puzzles. – Larry OBrien Dec 18 '11 at 18:38

marked as duplicate by ChrisF Dec 22 '11 at 14:31

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

3 Answers

Take a look at Easy to understand and interesting book on algorithms and the duplicatelinkedto in the top

Personally I would say "algorithm design manual" sedgewick's "algorithms" are an easier intro than Corman or Knuth. Although Segdewick's book seems to have grown from a slim volume into a multi volume series and back into a monster textbook

O'reilly's 'algorithms in nutshell" is a good start of you just want to read the code and hit the ground running

share|improve this answer

The famous SICP book should interest you, in addition of those suggested in other answers.

share|improve this answer

Cormen's "Introduction to Algorithms" is a book that is on the shelf of a lot of developers. It provides the tools and vocabulary for algorithmic analysis, but if you're "diving into" Project Euler, I think you're already doing the most important thing, which is immersing yourself in problems.

I would suggest that every time you tackle a new PE problem, you review the discussion for algorithms that are more efficient than yours (Big O -- the most important concept in algorithmic analysis!) and re-implement your solution. You don't have to strive for the millisecond performance (the guys doing PE problems in assembly have a distinct advantage there...) but you should strive for the same Big O. Themes will quickly emerge: top-down and bottom-up, pre-transforming the data, short-circuiting searches, etc. It's developing that mindset that's the hard (and fun) part.

share|improve this answer
Cormen is hardly a beginner's book, which is what the OP is asking for. – talonx Dec 20 '11 at 4:01

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