Structure and Interpretation of Computer Programs (), Introduction to Automata Theory, Languages and Computation (Hopcroft Ullman), don knuth's art of computer programming, Tanenbaum's Modern Operating Systems, Compilers: Principles, Techniques, and Tools5 (Aho Sethi Ullman)
While "The Art of Computer Programming" is a great book, it's not a fundamental book. I'd say it's more of a re-distillation plus some of Knuth's personal take on things.
Also, I'd add, at least:
Introduction to Algorithms / Cormen, Leiserson & Rivest (and recently also Stein)
If by "fundamental" you mean "original research" then yes - a lot of Knuth's content is re-distillations on original research.
On the other hand, Knuth has an incredible capacity to read, interpret, understand, and especially apply and expand the contents of research papers -- far beyond the capacity of nearly anyone else.
So if you want to spend a lot of time reading through ACM and IEEE journals, have fun. But you'll understand the research and be able to apply it far better when helped by Knuth.
Feynman's Lectures are great for understanding conceptually, but they don't teach you what you need to know to solve research problems. Some of what's in TAOCP is directly applicable to research (for example, the combinatorics part).
Knuth is one of the founders of analysis of algorithms as an academic discipline and the original publication of TAOCP played a role in founding the field.
I read Knuth's Volume 3, Searching and Sorting back in the 70's when I was a new grad student, it's great.
I now own the second and latest edition of this volume, but it is now over 20 years old. I recommend all of Knuth's publications.
Is Search and Sorting dated? Well, it is quite old. The fold out chart of tape merging patterns for different tape based sorting algorithms doesn't really come up very often anymore. It's been over 40 years since I've had to write programs that worked with mainframe tape drives.
Although AVL trees are covered well, there is no coverage of red-black trees or splay-trees.
Hashing is covered extensively, but there is no discussion of more modern hash table methods (like Cuckoo Hashing or Robin Hood Hashing or the power of choice results).
Furthermore, the basic hardware model used by Knuth in volume 3 assumes uniform costs for memory access. Cache sensitive algorithms aren't considered in volume 3 but are very important today.
Even quicksort, which I learned by studying Volume 3, now has what I consider to be a more modern treatment in Sedgewick and Wayne's Algorithms, 4th Ed.
Well, it obviously doesn't describe PageRank, and all the subsequent techniques that are being used by search engines, including techniques from natural language processing.
Retrieving data is a lot different now than what it was back in the 70s and 80s.
It sounds like you're referring to a specific subset of problems, namely ranking and retrieving web documents.
The "searching" section of TAoCP is about search algorithms [0]. Some of these (finding by keys, hashing, etc.) are part of what makes a search engine.
Some parts of what make up a search engine aren't related to searching at all, though. PageRank, for example, is about ranking.