Tuesday, November 18, 2008


Pongal (Tamil) - (lit.) to boil over; (fig.) an enthusiastic banter. 

I'll cover, over a long period of time, these topics. These are not just for interviews at Amazon/Google/Yahoo. Programming the Internet, and developing any non-trivial application require these. In fact, these are just the starting points. Next come, machine learning algorithms, approximation algos for hard problems, randomized algos etc.

References:
1) The Art of Computer Programming, Donald E. Knuth
As an original inventor teaching computer science, he walks you through the historical thought process that went into creating the various algorithms - the drawbacks of earlier algorithms and how that caused a subsequent development, and the intuition behind such development, and treats each topic holistically.

A good teacher develops the intuition - which helps in better application and further development.

2) Introduction to Algorithms, Cormen et al.
A big bazaar(all things available) book. The quality of each topic covered does'nt sulk, but lacks the continuity and a holistic treatment of Knuth.

3) Algorithm Design Manual, Steven S Skiena

The prose level is a muck. This is'nt a book to learn from. But the second part - a classified collection of problems, with references to implementations available online, gets you kickstarted.

Related URLs:

4) Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology, Dan Gusfield

5) Combinatorial Optimization: Algorithms and Complexity, by Christos Papadimitriou et al.

No comments: