 |
Art of Computer Programming Volume 1: Fundamental Algorithms, 3rd Edition View Larger Image | Donald E. Knuth Addison-Wesley, Hardcover, 3rd edition, Published July 1997, 650 pages, ISBN 0201896834 | List Price: $69.99 Our Price: $54.50 You Save: $15.49 (22% Off)
| | | Availability: Out-Of-Stock |
Be the First to Write a Review and tell the world about this title!People who purchase this book frequently purchase: - Art of Computer Programming Volume 3: Sorting and Searching; Donald E. Knuth, $54.50, 22% Off!
- Art of Computer Programming Volume 2: Seminumerical Algorithms; Donald Ervin Knuth, $54.50, 22% Off!
- The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations; Donald E. Knuth, $16.50, 17% Off!
- The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium; Donald E. Knuth, $16.50, 17% Off!
Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:
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. Elementary applications are given to simulation,
numerical methods, symbolic computing, software and system design. Dozens of simple
and important algorithms and techniques have been added to those of the previous
edition. The section on mathematical preliminaries has been extensively revised
to match present trends in research.
A word from Donald Knuth:
For the past 20 years I've been making copious notes in my personal copies
of The Art of Computer Programming, whenever I've noticed how those books could
be made better. Finally the time is ripe to typeset those books from scratch,
using the tools of digital typography that I worked on during the 1980s. The
new editions incorporate literally thousands of improvements, including hundreds
of instructive new exercises and answers to exercises. I think most readers
will enjoy these new things as much as I did when I first learned them. I've
been especially careful to include any new historical details that have come
to my attention, and to provide up-to-date information about all the research
problems stated in previous editions. Computer Science has been changing and
growing at a fantastic rate, yet I believe nearly everything in The Art of Computer
Programming is crucial information that will never become obsolete.
Table of Contents
1. Basic Concepts.
Algorithms.
Mathematical Preliminaries.
Mathematical Induction.
Numbers, Powers, and Logarithms.
Sums and Products.
Integer Functions and Elementary Number Theory.
Permutations and Factorials.
Binomial Coefficients.
Harmonic Numbers.
Fibonacci Numbers.
Generating Functions.
Analysis of an Algorithm.
Asymptotic Representations.
MIX.
Description of MIX.
The MIX Assembly Language.
Applications to Permutations.
Some Fundamental Programming Techniques.
Subroutines.
Coroutines.
Interpretive Routines.
Input and Output.
History and Bibliography.
2. Information Structures.
Introduction.
Linear Lists.
Stacks, Queues, and Deques.
Sequential Allocation.
Linked Allocation.
Circular Lists.
Doubly Linked Lists.
Arrays and Orthogonal Lists.
Trees.
Traversing Binary Trees.
Binary Tree Representation of Trees.
Other Representations of Trees.
Basic Mathematical Properties of Trees.
Lists and Garbage Collection.
Multilinked Structures.
Dynamic Storage Allocation.
History and Bibliography.
Answers to Exercises.
Appendix A. Tables of Numerical Quantities.
1. Fundamental Constants (decimal).
2. Fundamental Constants (octal).
3. Harmonic Numbers, Bernoulli Numbers, Fibonacci Numbers.
Appendix B. Index to Notations.
Index and Glossary.
About the Author
Donald E. Knuth was born on January 10, 1938 in Milwaukee, Wisconsin.
He studied mathematics as an undergraduate at Case Institute of Technology,
where he also wrote software at the Computing Center. The Case faculty took
the unprecedented step of awarding him a Master's degree together with the B.S.
he received in 1960. After graduate studies at California Institute of Technology,
he received a Ph.D. in Mathematics in 1963 and then remained on the mathematics
faculty. Throughout this period he continued to be involved with software development,
serving as consultant to Burroughs Corporation from 1960-1968 and as editor
of Programming Languages for ACM publications from 1964-1967.
He joined Stanford University as Professor of Computer Science in 1968, and
was appointed to Stanford's first endowed chair in computer science nine years
later. As a university professor he introduced a variety of new courses into
the curriculum, notably Data Structures and Concrete Mathematics. In 1993 he
became Professor Emeritus of The Art of Computer Programming. He has supervised
the dissertations of 28 students.
Knuth began in 1962 to prepare textbooks about programming techniques, and
this work evolved into a projected seven-volume series entitled The Art of Computer
Programming. Volumes 1-3 first appeared in 1968, 1969, and 1973. Having revised
these three in 1997, he is now working full time on the remaining volumes. Approximately
one million copies have already been printed, including translations into six
languages. He took ten years off from this project to work on digital typography,
developing the TeX system for document preparation and the METAFONT system for
alphabet design. Noteworthy by-products of those activities were the WEB and
CWEB languages for structured documentation, and the accompanying methodology
of Literate Programming. TeX is now used to produce most of the world's scientific
literature in physics and mathematics.
His research papers have been instrumental in establishing several subareas
of computer science and software engineering: LR(k) parsing; attribute grammars;
the Knuth-Bendix algorithm for axiomatic reasoning; empirical studies of user
programs and profiles; analysis of algorithms. In general, his works have been
directed towards the search for a proper balance between theory and practice.
Professor Knuth received the ACM Turing Award in 1974 and became a Fellow of
the British Computer Society in 1980, an Honorary Member of the IEEE in 1982.
He is a member of the American Academy of Arts and Sciences, the National Academy
of Sciences, the National Academy of Engineering, and a foreign associate of
l'Academie des Sciences (Paris) and Det Norske Videnskaps-Akademi (Oslo). He
holds five patents and has published approximately 160 papers in addition to
his 19 books. He received the Medal of Science from President Carter in 1979,
the American Mathematical Society's Steele Prize for expository writing in 1986,
the New York Academy of Sciences Award in 1987, the J.D. Warnier Prize for software
methodology in 1989, the Adelsköld Medal from the Swedish Academy of
Sciences in 1994, the Harvey Prize from the Technion in 1995, and the Kyoto
Prize for advanced technology in 1996. He was a charter recipient of the IEEE
Computer Pioneer Award in 1982, after having received the IEEE Computer Society's
W. Wallace McDowell Award in 1980; he received the IEEE's John von Neumann Medal
in 1995. He holds honorary doctorates from Oxford University, the University
of Paris, St. Petersburg University, and more than a dozen colleges and universities
in America.
Professor Knuth lives on the Stanford campus with his wife, Jill. They have
two children, John and Jennifer. Music is his main avocation.
|
 |