19

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?

8

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

6

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.

4

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.

4

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.

3 accepted

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.

1

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

1

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).

0

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.

0

@Peter Hoffmann,

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

0

@guy.incognito.myopenid,

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