It was an old wish of mine to write down a list of the computer science books that influenced (positively) my career. In the following you can find a preliminary version of this list. The books, briefly described below, are not necessary "advanced", or the most comprehensive references in their domain, but they offered me an interesting, rewarding, and fruitful lecture.
1. Introduction to Algorithms, by Cormen, Leisserson, Rivest and Stein. It's the book that made me choose a research career in CS rather than a research career in math.
2. Introduction to Automata Theory, Languages, and Computation, by Hopcroft, Motwani and Ullman. One of the best bibliographical references in formal languages, at undergraduate level. Offers also a glimpse towards computability and complexity.
3. Handbook of Formal Languages, eds. Rozenberg and Salomaa. Written in 1997, it contains a collection of papers presenting the hot subjects (at that moment) in formal languages. Some of them are still of great interest, at least for me.
4. Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson. A nice presentation of the complexity theory, focused on NP-Completeness (the central topic in TCS, in my oppinion).
5. DNA Computing - New Computing Paradigms, by Paun, Rozenberg and Salomaa. Interesting for those of use working with bio-inspired computational models.
6. Introduction to the Theory of Computation, by Sipser. A good book from which you can learn the basics of computability and complexity.
7. Jewels of Stringology, by Crochemore and Rytter. Great book on string algorithms.
8. Randomized Algorithms, by Motwani and Raghavan. Published in 1995, it is a very well written survey on how probability theory can be applied in the development efficient (yet not deterministic) algorithms.
9. Data Structures and Algorithms, by Mehlhorn. A good reference on classical algorithms and data structures.
10. Network Flows, by Ahuja, Magnati and Orlin. Written in 1995, it is a good introduction to the network flows (algorithmic) theory.
...Please feel encouraged to recommend any other book, as a comment on this post.
An interesting discussion on a similar topic can be found on the Computational Complexity blog.
1. Introduction to Algorithms, by Cormen, Leisserson, Rivest and Stein. It's the book that made me choose a research career in CS rather than a research career in math.
2. Introduction to Automata Theory, Languages, and Computation, by Hopcroft, Motwani and Ullman. One of the best bibliographical references in formal languages, at undergraduate level. Offers also a glimpse towards computability and complexity.
3. Handbook of Formal Languages, eds. Rozenberg and Salomaa. Written in 1997, it contains a collection of papers presenting the hot subjects (at that moment) in formal languages. Some of them are still of great interest, at least for me.
4. Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson. A nice presentation of the complexity theory, focused on NP-Completeness (the central topic in TCS, in my oppinion).
5. DNA Computing - New Computing Paradigms, by Paun, Rozenberg and Salomaa. Interesting for those of use working with bio-inspired computational models.
6. Introduction to the Theory of Computation, by Sipser. A good book from which you can learn the basics of computability and complexity.
7. Jewels of Stringology, by Crochemore and Rytter. Great book on string algorithms.
8. Randomized Algorithms, by Motwani and Raghavan. Published in 1995, it is a very well written survey on how probability theory can be applied in the development efficient (yet not deterministic) algorithms.
9. Data Structures and Algorithms, by Mehlhorn. A good reference on classical algorithms and data structures.
10. Network Flows, by Ahuja, Magnati and Orlin. Written in 1995, it is a good introduction to the network flows (algorithmic) theory.
...Please feel encouraged to recommend any other book, as a comment on this post.
An interesting discussion on a similar topic can be found on the Computational Complexity blog.