or
Sign in to turn on 1-Click ordering.
Trade in Yours
For a £6.50 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
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.

The Art of Computer Programming: Fundamental Algorithms v. 1 [Hardcover]

Donald E. Knuth
4.7 out of 5 stars  See all reviews (18 customer reviews)
RRP: £51.99
Price: £45.75 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £6.24 (12%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 1 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want delivery by Friday, 24 May? Choose Express delivery at checkout. See Details

Formats

Amazon Price New from Used from
Hardcover £45.75  
Paperback --  
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Visit the Books Trade-In Store for more details. Learn more.

Book Description

7 July 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

The Art of Computer Programming: Fundamental Algorithms v. 1 + Structure and Interpretation of Computer Programs, 2nd Edition (MIT Electrical Engineering and Computer Science)
Price For Both: £75.14

Buy the selected items together


Product details

  • Hardcover: 672 pages
  • Publisher: Addison Wesley; 3 edition (7 July 1997)
  • Language: English
  • ISBN-10: 0201896834
  • ISBN-13: 978-0201896831
  • Product Dimensions: 17.4 x 3.7 x 24.8 cm
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (18 customer reviews)
  • Amazon Bestsellers Rank: 55,885 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

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.



About the Author

Donald E. Knuth is known throughout the world for his pioneering work on algorithms and programming techniques, for his invention of the Tex and Metafont systems for computer typesetting, and for his prolific and influential writing. Professor Emeritus of The Art of Computer Programming at Stanford University, he currently devotes full time to the completion of these fascicles and the seven volumes to which they belong.




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


Customer Reviews

4.7 out of 5 stars
4.7 out of 5 stars
Most Helpful Customer Reviews
13 of 13 people found the following review helpful
5.0 out of 5 stars No real programmer would be without this book! 25 Jan 2000
Format:Hardcover
The book is split into two chapters, Basic Concepts and Information Structures.

Chapter 1. Basic Concepts

Chapter 1 starts with a Section which considers what is an isn't an algorithm, and the properties that an algorithm must have. This section closes by offering a mathematical definition of a computational method, "by which the concept of algorithm can be firmly grounded in terms of mathematical set theory". This gives a hint as to what's next! The second Section of Chapter 1 provides a vigorous and intensive overview of the mathematics required for being a practitioner of computer science: induction, powers, logs, sums, products, integer functions, elementary number theory, permutations, factorials, binomial coefficients, harmonic numbers, Fibonacci numbers, generating functions, algorithm analysis and asymptotic representations. Phew! Three thousand years of mathematics are covered in a breathtaking 100-and-a-bit pages and are tested by an almost unbelievable 390 questions, all with answers! The third Section of Chapter 1 covers MIX, an artificial assembler language. My view is that understanding assembler is critical, not optional! To call yourself a computer scientist, or even software engineer, without having at least a working understanding of what your software is actually instructing the processor to do is akin to calling yourself a car mechanic when you don't know how the engine or transmission work! Those few ignorant "reviewers" who gripe about MIX prove that they haven't actually read the book, but wish only to associate their names with someone far more worthy than themselves because as Knuth himself admits: "... MIX is quite obsolete [and will] be replaced ... by a new machine called MMIX ... [which is] a ... reduced instruction set computer" [p124]. He goes on to admit that this will take "a long time". Being able to work with MIX, however, will prepare you to start working with many real-world commercial processors. Finally, a completely artificial construct such as MIX has far more value than creating an artificial high level language as one other reviewer has suggested. Learning the syntax and keywords for any non-trivial high level language, handling control flow, arithmetic, storage, conversion and IO, would take a much larger section than the 40-odd pages that Knuth allocates (even my 1978 edition of Kernigan and Ritchie's "C Programming Language" is over 200 pages!). MIX's application to investigating permutations is also explored in this section. The last Section of Chapter 1 looks at fundamental programming techniques : subroutines, coroutines, interpreters and IO, closing with a short history and bibliography of these techniques.

Chapter 2. Information Structures

Section 1 of Chapter 2 is a short introduction illustrating a linked list, using a hand of cards. Section 2 of Chapter 2 covers: stacks, queues, deques (double-ended queues), sequential allocation ("pushing" items on a stack), linked allocation, circular lists, doubly linked lists, arrays and orthogonal lists (rows and columns). Section 3 of Chapter 2 describes binary and non-binary trees, mathematical properties of trees (free trees, oriented trees and calculation of tree path length), and ends with a description of linked lists and garbage collection. No mention of red-black trees, though. Section 4 of Chapter 2 describes multilinked (nested) structures. Section 5 of Chapter 2 describes dynamic storage allocation and some algorithms for allocation/reallocation. Chapter 2 closes with a history and bibliography of the information structures and algorithms which it describes.

Following the Answers to the Exercises, there are two Appendices, one presenting a table of fundamental constants and numbers, the other offering an index of notations.

Throughout this book, Knuth explains the mathematics extensively, offering not just usage of the algorithms and structures which he describes, but proofs of correctness, investigations of efficiency of speed vs space, references to further material on every page and more than 900 questions (and answers). To paraphrase Gates' quote on the back "You should definitely send me a resumé if you can answer all the questions!"

Comment | 
Was this review helpful to you?
8 of 8 people found the following review helpful
4.0 out of 5 stars Thorough but difficult 26 Nov 1999
By A Customer
Format:Hardcover
I thought I knew everything there was to know about linked lists until I read this book. How wrong I was. The same could be said for just about any other topic touched on by Knuth.

The main drawback is that if you want to work through the example questions, then you need to learn MIX and get your hands on a MIX simulator. I've nothing against learning assembler, but this is 1960s assembler, not something "nice" like 68K.

Knuth is working on an updated version, but it'll praobably be years before it's ready. I wouldn't let that put me off buying these books though.

Paul Floyd

Comment | 
Was this review helpful to you?
3 of 3 people found the following review helpful
By A Customer
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?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know
Most Recent Customer Reviews
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 17 Jun 2006 by bernie
5.0 out of 5 stars Great book all around.
This book is still a classic, and the reference for anyone who wants to write efficient code. Poor comments bellow come from people who don't actually understand computer science,... Read more
Published on 6 July 1999
5.0 out of 5 stars Extremely helpful to a NOVICE PROGRAMMER
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. Read more
Published on 1 Jan 1999
5.0 out of 5 stars Par Excellence...
This series (TAOCP) is for people who have the passion and the vision to chart new areas in Computer Science. Read more
Published on 1 Sep 1998
5.0 out of 5 stars Still a definitive guide to computational algorithms
Computer Science has progressed dramatically over the last few decades. However, advances in fundamental algorithms, and available treatise remains scant, incomplete, or slanted... Read more
Published on 26 Jun 1998
5.0 out of 5 stars Excellent and complete
While weaker minds may abhor the assembly code, this book (and series) contains the most comprehensive discussion of computer topics I've seen. Read more
Published on 27 May 1998
2.0 out of 5 stars Boring
How can someone who supports the notion of Literate Programing write something this dull and write code examples in such an obscure and trivial language? Read more
Published on 27 Jan 1998
5.0 out of 5 stars The bible of computer science just got better!

Knuth has finally updated the three completed volumes ofhis exceptional "The Art of Computer Programming" series,correcting errors and updating the topics to... Read more

Published on 29 Nov 1997
5.0 out of 5 stars Excellent update of a timeless classic - *Required Reading*

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. Read more

Published on 10 Nov 1997
4.0 out of 5 stars Technically superior, but poorly written
I believe very strongly in understanding what the computer is doing at the lowest levels, but Knuth's reliance on MIX is unforgivable. Read more
Published on 24 Oct 1997
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   
Related forums


Listmania!


Look for similar items by category


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges