
"This classic book on formal languages, automata theory, and computational complexity has been updated to present theoretical concepts in a concise and straightforward manner with increased coverage of practical applications. This third edition offers students a less formal writing style while providing the most accessible coverage of automata theory available, solid treatment on constructing proofs, many figures and diagrams to help convey ideas, and sidebars to highlight related material. A new feature of this edition is Gradiance, a Web-based homework and assessment tool. Each chapter offers an abundance of exercises, including selected Gradiance problems, for a true hands-on learning experience for students."--BOOK JACKET.
To elaborate on this, the original Introduction to Automata Theory, Languages, and Computation, by John Hoffcroft and Jefferey Ullman (The one with the black cover is the 1979 edition). My instructor, even in 2024, made us use that one instead of the newer one.
The other text if i recall right is Tanenbaum's Computer Networks book, where there is a significant portion of bloat that does not really fit there although my source for this is a review for the book.
K&R 2nd Edition was rushed but I personally wouldn't claim the older edition was 'better'.
Ullman is of the authors of several legendary computer science books Dragon Book (Compilers: Principles, Techniques, and Tools) the Cinderella Book (Introduction to Automata Theory, Languages, and Computation), Green Dragon Book (Principles of Compiler Design)
If you want to learn deep stuff with clarity, those old books are still the way to go.
I have heard M Sipser's book is also good but have not gone through it myself.
I found "Introduction to Algorithms" [1] very accessible for a CS student and also "Introduction to Automata Theory, Languages, and Computation" [2] very complete.
[1] https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press...
[2] https://en.wikipedia.org/wiki/Introduction_to_Automata_Theor...