The Art of Computer Programming, Vol. 3 FROM THE PUBLISHER
The first revision of this third volume is the most comprehensive
survey of classical computer techniques for sorting and searching. It extends the
treatment of data structures in Volume 1 to consider both large and small
databases and internal and external memories. The book contains a selection of
carefully checked computer methods, with a quantitative analysis of their
efficiency. Outstanding features of the second edition include a revised section
on optimum sorting and new discussions of the theory of permutations and of
universal hashing.
SYNOPSIS
This multivolume work is widely recognized as the definitive description of classical computer science. The first three volumes have for decades been an invaluableresource in programming theory and practice for students, researchers, and practitioners alike.
Countless readers have spoken about the profound personal influence of Knuth's work. Scientists have marveled at the beauty and elegance of his analysis, while ordinary programmers have successfully applied his "cookbook" solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.
Primarily written as a reference, if you need to do any serious computer programming, you will find your own good reason to make each volume from beginning to end. A programmer in China even compared the experience to reading a poem.
Whatever your background, if you need to do any serious computer programming, you will find your own good reason to make each volume in this series a readily accessible part of your scholarly or professional library.
For the first time in more than 20 years, Knuth has revised all three books to reflect more recent developments in the field. His revisions focus specifically on those areas where knowledge has converged since publication of the last editions, on problems that have been solved, on problems that have changed. In keeping with the authoritative character of these books, all historical infomation about previous work in the field has been updated where necessary. Consistent with the author's reputation for painstaking perfection, the rare technical errors in his work, discovered by perceptive and demandingreaders, have all been corrected. Hundreds of new exercises have beeen added to raise new challenges.
A word from Don 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.
FROM THE CRITICS
Booknews
Knuth is eminent for his pioneering work on algorithms and programming techniques, for his invention of TEX and METAFONT systems for computer typesetting, and for his prolific and influential writing. This volume, revised from its 1980 version and the second of what will be a seven-volume work, offers a complete introduction to the field of seminumerical algorithms, with separate chapters on random numbers and arithmetic. Summarizing the major paradigms and basic theory of such algorithms, it provides a comprehensive interface between computer programming and numerical analysis. Noteworthy in this edition is Knuth's new treatment of random number generators, and his discussion of calculations with formal power series. Annotation c. by Book News, Inc., Portland, Or.
Booknews
This last volume in a set of three surveys classical computer techniques for sorting and searching, considering both large and small databases and internal and external memories. Recently updated to reflect new developments in the field, the volume also contains several hundred new exercises. This new edition of Volume Three is described as matching Volume One (3rd edition) covering fundamental algorithms and Volume Two (3rd edition) treating seminumerical algorithms. Annotation c. by Book News, Inc., Portland, Or.
AUTHOR DESCRIPTION
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 athematics.
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
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.
ACCREDITATION
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.