views:

443

answers:

7

Before you mark this is a duplicate, let me explain why this is different. Most of the books on algorithms are more of a reference. You basically have a list of algorithms at your disposal. But what happens when you need to create a new algorithm for something? These books don't teach how to think in terms of algorithms. So I'm looking for books that will teach me the thinking-process of creating algorithms. Any good suggestions?

+2  A: 

The Art of Computer Programming by Knuth is amazing

But to be frank. Its too boring to read. :(
claws
Funny, I've never found a single page to be boring. Many pages are difficult and challenging, but never boring, not if you like learning about algorithms and how to write them. In fact, 30 years later, it is still the most interesting computer books I have ever read.
RBarryYoung
+6  A: 

My way favorite book along these lines is Udi Manber's Introduction to Algorithms: a creative approach. Of course I'm biased, since Udi's now a VP at Google, where I work, but I loved the book even when he was at competitors;-). Dated, but always in print and in fact in stock at Amazon, the book is exactly what you're looking for -- it teaches the way to think to create algorithms!

It uses a pseudo-language that's close to Pascal (the favorite teaching language at the time it was written) but in fact about as close to Python (which hadn't even been invented back then;-). And, mostly, it uses clear, sharp, concise, wonderfully written English -- just like any (English-language;-) book should.

Alex Martelli
I was about to add an answer with this book name!
Moron
Excuse me for the offtopic post...but how can I found thw books that are sponsored by stackoverflow and have some discount.E.g the above link is http://rads.stackoverflow.com/amzn/click/0201120372 and redirects me to amazon.Is there any way to see the "list"?Thanks in advance.
DarkFire21
@DarkFire, try asking on meta.stackoverflow.com -- looks like the right site for that.
Alex Martelli
I'm also insearch of such book. Well, I'm starting reading it. I'll get back to this topic and comment my views on this book. :)
claws
You misunderstood me Alex.I mean, how did you find the sponsored link of the book?:)
DarkFire21
@DarkFire, I just pasted a normal link and SO's magic transformed it into a sponsored one -- I thought you wondered what technique SO uses to perform that magic and meta would be the right place to ask.
Alex Martelli
A: 

Elements of Programming by Alexander Stepanov is amazing, but not an easy read.

Mihaela
+3  A: 

Programming Pearls by Jon Bentley (2nd ed.) - this should be in every serious programmer's "top 10" books list.

Paul R
Best second choice, IMHO. Though, I've always thought of Knuth's "Art" as the serious choice, and Bentley's "Pearls" as the more recreational choice.
RBarryYoung
A: 

I always recommend "Artificial Intelligence: A Modern Approach" by Russel and Norvig as a good way to learn programming and (non-traditional) algorithms.

Amit Kumar
+2  A: 

"The Algorithm Design Manual" by Steven Skiena. I couldn't stop thinking in algorithms about everything for a few months after reading it. I even invented a new algorithm myself, although later it occurred to be "quickselect"...

Headcrab
I'm starting reading it. I'll get back to this topic and comment my views on this book. :)
claws