views:

1742

answers:

10

My book shelf is occupied by following books:

  • Data Structures and Algorithm (Alfred V. Aho, Jeffrey D. Ullman, John E. Hopcroft)
  • Introduction to Algorithms 2n edition (Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Cliff Stein)
  • Art of Computer Programming, The, Volumes 1-3 (Donald E. Knuth)

Are there any modern good books on algorithms highlighting recent researches in computer science?

+3  A: 

If you are interested in social web sites with the algorithms and statistics behind search rankings, product recommendations, social bookmarking, and online matchmaking, I can strongly recommend Programming Collective Intelligence from Toby Segaran.

I really enjoyed reading it and playing around with the great python examples.

You can have a look inside the book at google books.

Peter Hoffmann
A: 

@Peter Hoffmann,

Thanks for comment. I forgot to mention that I own a copy of Programming Collective Intelligence and it's a superb book!

aku
A: 

@guy.incognito.myopenid,

thanks for feedback, but I'm looking for modern books. Book from 1986 seems to be slightly out of date :)

aku
I would agree that a specialized technology book from 1986 is probably out of date, but algorithms are algorithms.
Brad Wilson
Brad, I think I clearly formulated my question. I want to look at recent researches in CS field. I appreciate feedback and respect others options, but prefer when people stay within topic theme. Concrete question - concrete answer.
aku
You can leave comments on answers; you don't have to post new answers that are not real answers. But you probably already know that...
ShreevatsaR
ShreevatsaR, comments were absent in intial version of StackOverflow
aku
+8  A: 

A fairly recent book that incorporates some recent research is ‘Algorithm Design’ by Jon Kleinberg and Éva Tardos.

knuton
A: 

The basics never change. You would be surprised how many great algorithms / methods / ways of doing things were discovered in the 80s. Even if you want to learn "new" things, you must first understand the basics.

That said I would recommend the "Cormen" book over the "Art of Computer Programming", since the later is very dense (and I'm not sure that its worth the effort for every programmer to go through it).

After that, start searching for papers (in your domain of interest - for example: data mining, machine learning, etc) and read them. You can also start at Wikipedia and read the referenced sites / papers.

Cd-MaN
+4  A: 

Modern, fairly readible book on Algorithms :

Algorithms by Sanjoy Dasgupta. This book is almost easy to read. It is not an extensive reference, but it is more than a simple introduction. If you read the Amazon reviews you will find out much more. I have read from the start into about 40%. I haven't finished it yet, however. It definitively gave me nice ideas, it also contains quite a lot about graphs.

Tomas Pajonk
It's worth noting that this book is available for free (by the authors) online. This is the book I learned algorithms from; it's great, except for the last chapter (on quantum computing), which is awful.
BlueRaja - Danny Pflughoeft
+1  A: 

I like the "Algorithm design manual" and of course for numerical stuff there is "Numerical recipes in X"

Martin Beckett
+1  A: 

Since you specify Knuth volumes 1-3, I'd suggest you look at Knuth volume 4. It's extremely modern-- being written as we speak!-- and covers some very interesting (combinatorial) ground.

Also, if you have an academic slant, you might want to check out the ACM Transactions on Algorithms journal (TALG).

Michael Dorfman
+4  A: 

The books of the two Vazirani's are up to date and good:

  • Aproximation Algorithms by Vijay V. Vazirani

    Solving NP-hard problems fast. This is a major branch of modern research in theoretical computer science. Very interesting book. It covers most of the important results in this area, but omits some of the harder proofs (like the "hard direction" of the PCP-theorem).

  • Algorithms by Sanjoy Dasgupta, Christos H. Papadimitriou, Umesh Vazirani (Vijay's brother)

    A modern, but introductory book on algorithms. You might know Papadimitriou from his famous book on Computational Complexity.

mdm
+4  A: 

I think its best if you buy books that focus ona single topic.

Approximation Algorithms: Vijay V. Vazirani

Randomized Algorithms: Motwani [ probability prereq]

Graph Algorithms : Trajan

General Questions: Problems on Algorithms

Data Structures : Okasaki's Book

Design Ideas: Skiena's Collection of books are excellent.

Papadimitroui has an excellent book on Combinatorics.

If you have read the basic books, its always best to follow the researchers and read papers. The computation field is moving to fast to be captured in books.

kunjaan