or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $25.10 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) [Hardcover]

Donald E. Knuth
4.3 out of 5 stars  See all reviews (50 customer reviews)

Buy New
$56.69 & FREE Shipping. Details
Rent
$39.68 & this item ships for FREE with Super Saver Shipping. Details
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Rented by RentU and Fulfilled by Amazon.
Want it Tuesday, May 21? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Hardcover $56.69  
Paperback --  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

July 17, 1997 0201896834 978-0201896831 3

Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually.

 

The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e

ISBN: 0321751043 


Frequently Bought Together

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) + Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition) + Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition)
Price for all three: $168.40

Buy the selected items together


Editorial Reviews

Amazon.com Review

This magnificent tour de force presents a comprehensive overview of a wide variety of algorithms and the analysis of them. Now in its third edition, The Art of Computer Programming, Volume I: Fundamental Algorithms contains substantial revisions by the author and includes numerous new exercises.

Although this book was conceived several decades ago, it is still a timeless classic. One of the book's greatest strengths is the wonderful collection of problems that accompany each chapter. The author has chosen problems carefully and indexed them according to difficulty. Solving a substantial number of these problems will help you gain a solid understanding of the issues surrounding the given topic. Furthermore, the exercises feature a variety of classic problems.

Fundamental Algorithms begins with mathematical preliminaries. The first section offers a good grounding in a variety of useful mathematical tools: proof techniques, combinatorics, and elementary number theory. Knuth then details the MIX processor, a virtual machine architecture that serves as the programming target for subsequent discussions. This wonderful section comprehensively covers the principles of simple machine architecture, beginning with a register-level discussion of the instruction set. A later discussion of a simulator for this machine includes an excellent description of the principles underlying the implementation of subroutines and co-routines. Implementing such a simulator is an excellent introduction to computer design.

In the second section, Knuth covers data structures--stacks, queues, lists, arrays, and trees--and presents implementations (in MIX assembly) along with techniques for manipulating these structures. Knuth follows many of the algorithms with careful time and space analysis. In the section on tree structures, the discussion includes a series of interesting problems concerning the combinatorics of trees (counting distinct trees of a particular form, for example) and some particularly interesting applications. Also featured is a discussion of Huffmann encoding and, in the section on lists, an excellent introduction to garbage collection algorithms and the difficult challenges associated with such a task. The book closes with a discussion of dynamic allocation algorithms.

The clear writing in Fundamental Algorithms is enhanced by Knuth's dry humor and the historical discussions that accompany the technical matter. Overall, this text is one of the great classics of computer programming literature--it's not an easy book to grasp, but one that any true programmer will study with pleasure.

From the Back Cover

The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming.

Byte, September 1995

I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up.

—Charles Long

If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole thing.

—Bill Gates

It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers.

—Jonathan Laventhol

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.




Product Details

  • Hardcover: 672 pages
  • Publisher: Addison-Wesley Professional; 3 edition (July 17, 1997)
  • Language: English
  • ISBN-10: 0201896834
  • ISBN-13: 978-0201896831
  • Product Dimensions: 6.8 x 1.5 x 9.8 inches
  • Shipping Weight: 2.5 pounds (View shipping rates and policies)
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (50 customer reviews)
  • Amazon Best Sellers Rank: #116,107 in Books (See Top 100 in Books)

More 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. Volume 4A appeared at the beginning of 2011. More than one million copies have already been printed, including translations into ten languages.

He took ten years off from that 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, and the National Academy of Engineering; he is also a foreign associate of l'Academie des Sciences (Paris), Det Norske Videnskaps-Akademi (Oslo), Bayerische Akademie der Wissenschaften (Munich), the Royal Society (London), and Rossiiskaya Akademia Nauk (Moscow). He holds five patents and has published approximately 160 papers in addition to his 28 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.

Customer Reviews

If I want, I can have fun with this book for the rest of my life. Vincent Poirier  |  9 reviewers made a similar statement
I read this book when I was a sophomore in high school and I thought it was excellent. Noah Stein (NDStein@aol.com)  |  8 reviewers made a similar statement
Most Helpful Customer Reviews
41 of 41 people found the following review helpful
Format:Hardcover

Anyone who aspires to be a transcendent programmer must own (and use) Knuth. I've used my 20 year old TAOCP vol. 1 so many times over the years that it lays flat at any page.

The updated volume 1 is more of the same - a classic revisited, revamped, restored. It is odd to handle something so familiar, yet so crisp.

Those who dislike MIX will be unimpressed - to them, I say that you don't learn by doing the same vanilla thing time and again, but rather by wrestling with unfamiliar concepts and architectures. Many times my fellow programmers will find themselves roadblocked in an unfamiliar situation, while I often can see the unobvious solution - I attribute this ability to a wide experience with unconventional solutions, including extensive study of Knuth's TAOCP.

If you're serious about your programming abilities, you *must* own (and study) this book! Frankly, if computer science were taught as an apprenticeship, this would be the journeyman's manual. I've required the many programmers I've trained over the years to own and study TAOCP, and they've all come to appreciate it's layered approach to problems - you can read Knuth at many levels, from algorithm reference to meta-analysis of an entire class of problems.

If there is a Koran, Bible, or Tao of Computer Science, this is it. The only thing close is Aho's "Dragon Book," and it's specific to compilers.

Comment | 
Was this review helpful to you?
37 of 37 people found the following review helpful
5.0 out of 5 stars Extremely helpful to a NOVICE PROGRAMMER January 1, 1999
By A Customer
Format:Hardcover
When I read Knuth #1, I was an English Major with a certificate in COBOL programming. Alot of what he said made no sense; after struggling for 3 weeks I began to understand. I used Knuth to learn QA, testing techniques, structured analysis; Knuth was my Harvard & Yale of programming knowledge.

I read the poor reviews of Knuth here & I think: THEY must be lazy, really lazy. If you want to work hard & have NO Background in CS other than a programming language you really know YOU can master this book. Yeah the math & true CS graduate can read this easier than me, but can they owe a lifetime of programming methodology to it?

I owe everything to Knuth; I love the man.

Was this review helpful to you?
28 of 29 people found the following review helpful
Format:Hardcover
I read this book when I was a sophomore in high school and I thought it was excellent. Prior to reading the book, I had wanted for a long time to write a program to evaluate standard mathematical expressions. I had even tried once before, but I didn't know enough about what I was doing to be really successful. Somewhere in the second chapter in a discussion of lists, doubly-linked-lists, and binary trees, a good solution came to me, and I implemented it right after I finished reading the book. It worked very well. This book helped me to accomplish the major goal-project of my computer programming career so far, and I definately think it is worth reading for anyone wanting a really advanced understanding of fundamental algorithms. Now I know to many advanced means total [over]use of fully encapsulated C++ objects, which this book doesn't have, but this book gives an advanced understanding, which is infinitely more valuable than classes. If you understand OOP and you understand this book, you should be able to combine the two just fine. Lastly, I'd like to comment on the use of MIX. I read almost none of the MIX assembly code when I read this book. The little I looked at I looked at because I wanted to see what assembly was like in the 60's. But you can understand everything he's trying to say by his explanations of the algorithms, the assembly code is only for clarification, and you don't have to read it. I also believe that everyone who's been using fully encapsulated classes for their entire programming career should learn an assembly language sometime. Just like this book, it will teach you how to think.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
4.0 out of 5 stars present
This was purchased as a requested item by my son-in-law for his Christmas present. He is a computer programer and would not have requested this item if it was not a superior... Read more
Published 1 month ago by Russell Bound
5.0 out of 5 stars The best book ever!
Donald E. Knuth - I am your biggest fan and this is one of my favorite books on algorithms. Don't be intimated by its size and the number of volumes - this is a life work of one of... Read more
Published 9 months ago by Love to Read
5.0 out of 5 stars Classic of the Times of Assembler with a Substantial Amount of...
A joy for the lovers of clear thought, mathematics and yes assembler. A must read? No, those times are gone by. Read more
Published 10 months ago by ws__
5.0 out of 5 stars Intimidating, but worth the effort.
This book is one of the hardest comp-sci books I've tried to go through. Like anything else in life, what you put into this book is what you get out of it. Read more
Published 13 months ago by Alan Smithee
5.0 out of 5 stars Hard, but worth the effort
This is one of those books that separates the computer scientist from the 'programming for dummies' crowd. Read more
Published on May 20, 2010 by Rusty Shackleford
3.0 out of 5 stars Painful
Yes, I know, we devs should all pay homage to the great Knuth. I don't dispute it. But I also don't want to read a textbook. That's what this is. Read more
Published on June 4, 2008 by William Sullivan
5.0 out of 5 stars Algorithms, Data Structures, Computing Machine, Analysis
This is a classic book on algorithm analysis and also in programming techniques. The first one for which author create a hypothetical computing machine (he call it MIX), his own... Read more
Published on September 30, 2007 by Jose Portillo
5.0 out of 5 stars Just try sorting and searching with out this book.
This book has saved my bacon several times through the decades. Once I needed to actually build a database package from scratch instead of using a commercial package. Read more
Published on June 17, 2006 by bernie
5.0 out of 5 stars Mechanical things: foundations
"The Art of Computer Programming" (TAoCP) is about machines and mechanical methods.

TAoCP is "about timeless truths" as the author writes. Read more
Published on March 9, 2006 by Vincent Poirier
5.0 out of 5 stars Vol 1 is the most important in the series and is a must for CS...
All three volumes of The Art of Computer Programming (TAOCP), are classic. Each is a book that every CS student should try to study diligently reimplementing example after example. Read more
Published on November 20, 2005 by kievite
Search Customer Reviews
Only search this product's reviews


Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...



Look for Similar Items by Category