Books written by Donald E. Knuth.
He won the Turing Award in 1974 for his major contributions to the analysis of algorithms and the design of programming languages, and in particular for his contributions to "The Art of Computer Programming" through his well-known books in a continuous series by this title.
Concrete Mathematics: A Foundation for Computer Science
This book introduces the mathematics that supports advanced computer programming and the analysis of algorithms. The primary aim of its well-known authors is to provide a solid and relevant base of mathematical skills.
The Art of COmputer Programming, Volumes 1-4A
The Art of Computer Programming, Volume 1: Fundamental Algorithms
This first volume in the series begins with basic programming concepts and techniques, then focuses more particularly on information structures—the representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently.
The Art of Computer Programming, Volume 2: Seminumerical Algorithms
The book begins with fundamental questions regarding random numbers and how to use algorithms to generate them. Subsequent chapters demonstrate efficient computation of single-precision and double-precision arithmetic calculations and modular arithmetic. The text then presents prime factorization and algorithms for calculating fractions.
The Art of Computer Programming, Volume 3: Sorting and Searching
How are good algorithms discovered? How can given algorithms and programs be improved? How can the efficiency of algorithms be analyzed mathematically? How can a person choose rationally between different algorithms for the same task?
The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1
The hallmark qualities that distinguish his previous volumes are manifest here anew: detailed coverage of the basics, illustrated with well-chosen examples; occasional forays into more esoteric topics and problems at the frontiers of research.
The Art of Computer Programming, Volume 4, Fascicle 5: Mathematical Preliminaries Redux; Introduction to Backtracking; Dancing Links
The book begins with a 26-page tutorial on the major advances in probabilistic methods that have been made during the past 50 years, since those theories are the key to so many modern algorithms.
The Art of Computer Programming, Volume 4, Fascicle 6: Satisfiability
This fascicle, brimming with lively examples, forms the middle third of what will eventually become hardcover Volume 4B.
Things a Computer Scientist Rarely Talks About
How does a computer scientist understand infinity? What can probability theory teach us about free will?