Sponsored
Buy New
-13% $69.97
FREE delivery Thursday, October 15
Ships from: Publisher Direct
Sold by: Publisher Direct
$69.97 with 13 percent savings
List Price: $79.99 Image
FREE delivery Thursday, October 15. Details
In stock
Usually ships within 3 to 4 days.
$$69.97 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$69.97
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Shipper / Seller
Returns
30-day refund/replacement
30-day refund/replacement
Quick refund
Usually issued within 24 hours. See exceptions
Shipping fee
May apply, not eligible for free return. See details
Convenient dropoff
At any of our 50,000 US locations.
See return policy
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$26.01
Get Fast, Free Shipping with Amazon Prime FREE Returns
Unmarked text; moderate shelf wear on dust jacket Unmarked text; moderate shelf wear on dust jacket See less
FREE delivery Monday, October 5 on orders shipped by Amazon over $35
Or Prime members get FREE delivery Friday, October 2. Order within 1 hr 20 mins. Join Prime
Only 1 left in stock - order soon.
$$69.97 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$69.97
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Sponsored
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

  • The Art of Computer Programming, Vol. 1: Fundamental Algorithms, 3rd Edition

Follow the author

Follow authors for new release and deal updates, plus improved recommendations. See updates from all followed authors in Your Books.
Something went wrong. Please try your request again later.

The Art of Computer Programming, Vol. 1: Fundamental Algorithms, 3rd Edition

4.5 out of 5 stars (199)

{"desktop_buybox_group_1":[{"displayPrice":"$69.97","priceAmount":69.97,"currencySymbol":"$","integerValue":"69","decimalSeparator":".","fractionalValue":"97","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"y07znU9FY5Ln60LXY%2Bwi073RdxjmGP1JnaQsUcLStmDtoVe2i3R4Ggrc4ANC6Sh4SKlGmm9FjgkJh0Tr52EBXJaCYAoXSKK8YgXgZ0Y9pJef63ROJKuTCg9upYMiKjNCo8AwL5PjiqyEV%2FuTakOHvjlRsP0e3n9iRxTA%2Far%2B95Ytl9U7qG7m5gHKNYjcIeQI","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0},{"displayPrice":"$26.01","priceAmount":26.01,"currencySymbol":"$","integerValue":"26","decimalSeparator":".","fractionalValue":"01","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"y07znU9FY5Ln60LXY%2Bwi073RdxjmGP1JTss3%2BjE2YPEMNEEoaagteFV6cPYFzgzn4GpvvU%2Buzs51E9C3XDFTRRQy08pwNYdjCwK7AmWu8hcYFm8mgpLX2%2B5SnrdwWKAaDD0eYsMUcM2Mq1JXJt2AU0ljCBgQrXQW7Qm9g847Ay%2FpCIBDmBfWxA%3D%3D","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

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.


Ebook (PDF version) produced by Mathematical Sciences Publishers (MSP),http://msp.org.

Sponsored

4.54.5 out of 5 stars 199
-13% $69.97
List: $79.99
In stock
Usually ships within 3 to 4 days.
Ships from and sold by Publisher Direct.
+
4.74.7 out of 5 stars 4,467
-16% $59.00
List: $69.99
Only 1 left in stock - order soon.
Sold by 12 September and ships from Amazon Fulfillment.
Total price:
To see our price, add these items to your cart.
Details
Added to Cart
One of these items ships sooner than the other.
Choose items to buy together.

Customers also bought or read

Loading...

From the Publisher

TAOCP box set 1-4B

Updated Box Set Now Available!

This new box set now includes Volume 4B - Combinatorial Algorithms, Part 2

"I've had loads of fun writing other parts of these volumes, but without doubt Section 7.2.2.1 [of Combinatorial Algorithms, Part 2] has been the funnest. And I know that my delight in good puzzles is shared by a significant number of leading computer scientists and mathematicians, who have told me that they chose their careers after having been inspired by such intellectual challenges."

— Donald Knuth

The Art of Computer Programming Volumes 1-4B

ISBN-10: 0137935102

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

  • ASIN ‏ : ‎ 0201896834
  • Publisher ‏ : ‎ Addison-Wesley Professional
  • Publication date ‏ : ‎ July 7, 1997
  • Edition ‏ : ‎ 3rd
  • Language ‏ : ‎ English
  • Print length ‏ : ‎ 672 pages
  • ISBN-10 ‏ : ‎ 9780201896831
  • ISBN-13 ‏ : ‎ 978-0201896831
  • Item Weight ‏ : ‎ 2.55 pounds
  • Dimensions ‏ : ‎ 9.64 x 6.66 x 1.43 inches
  • Part of series ‏ : ‎ The Art of Computer Programming
  • Best Sellers Rank: #818,861 in Books (See Top 100 in Books)
  • Customer Reviews:
    4.5 out of 5 stars (199)

About the author

Follow authors for new release and deal updates, plus improved recommendations. See updates from all followed authors in Your Books.
Donald E. Knuth
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

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.

Sponsored

Customer reviews

4.5 out of 5 stars
199 global ratings
Sponsored
Must read not only for programmer
5 out of 5 stars
Must read not only for programmer
It's hugely valuable, thanks Knuth for this series.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • 5 out of 5 stars
    Vol 1 is the most important in the series and is a must for CS students
    Reviewed in the United States on November 20, 2005
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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. Not many will succeed to finish even a half of one volume, but if you do please buy all three of them and think about post-graduate studies :-).

    I think the most important is to study the Vol 1. It gives enough exposition to the Donald Knuth style and brilliant thinking. While the content is definitely important it is the level of thinking of the author that represents the main value of the book: you instantly understand the book was written by a great scientist and it does not matter much that now the contents of most chapters can be significantly improved using more modern sources. After all Vol 1 is more then a 30 years old book (it is older then Unix) and as such it should be outdated (we all believe in progress, don't we)... And it is not surprising that parts of Vol 1 on of TAOCP today look completely out of touch with reality especially MIX, the CPU instruction set that is used in all volumes.

    Actually MIX instruction set (and thus assembler) was outdated even when the book was first published and more reflects unique Knuth's background with IBM 650. It was far from the state of hardware development even in late 60th when the first volume was published, the period when IBM/360 was the king of the hill.

    Now IBM 650, a 1,966 lb machine that consumed almost 30 Kw of electricity looks more like a primitive calculator than a real computer: typical installation has the memory of just 10,000 decimal digits ( 1,000 words; 10 digit per word).

    It's really sad that Knuth did not adopt System 360 architecture and PL/360 assembler (Wirth's structured assembler for S/360) for his books but we can do nothing about it. Still this is a book about timeless truths, not the book about the resent CS fashion like Java or you name it :-). It actually can serve as a perfect antidote against any current CS fashion.

    And Knuth does provide pseudocode with his natural language algorithm description. And natural language pseudocode has an important advantage over 'structured pseudocode. The problem with a "structured pseudocode" is that the set of control structures is fixed and may not reflect the needs of a particular algorithms (branching out of loop is a common problem that is not addressed by structured programming well). Moreover it can cripple the algorithm by enforcing unnatural control structures, the structures that are absent in it but might be present in more modern languages. For example Perl has an interesting set of control structures that is superior to C. But even "Perl control structures set" can be improved further.

    That's why assembler language is preferable: it never obscures "natural" control structures for each algorithms, structures that one day can be mapped into some new elegant language construct. Also as one review noted "sometimes high level languages with all their abstractions make things look more complex than they need be."

    I would like to stress it again that each volume is very difficult to read; you really need to work on each chapter by reimplementing the examples that Knuth gives in your favorite language (assembler might help but is not essential).

    Mathematical considerations as for average and worst running time of a particular algorithm can be largely ignored during the first couple of years of study of this book. Actually most mathematics in Vol. 1 can (and probably should) be initially completely ignored. See Softpanorama Classic Computer Books for more information.

    On the negative side this is an overpriced book, if we are talking about students budget. To save money you can buy one of the first editions: there is not that much difference in content to justify the differences in price. The differences do not interfere with the study of the book. Knuth did an excellent work the first time he published each volume and for a significant improvement we probably need another century and another person.

    70 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    A classic
    Reviewed in the United States on March 14, 2023
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    What can I say? This book is a classic, but be ready to test your math skills.

    One person found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Intimidating, but worth the effort.
    Reviewed in the United States on April 24, 2012
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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. It can go a little over my head from time to time, but really, that's a good thing. You'll never learn to swim if you stand in the shallow end of the pool all your life.

    9 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 4 out of 5 stars
    Knuth Is Stuck In The 60s
    Reviewed in the United States on August 26, 1997
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Yes, it is risky to review an author such as Knuth. But, certain things must be said and it seems like I may be the only one to say them. First, Knuth's books, including this new addition are invaluable resources of wisdom. Their depth and tenacity are rarely found elsewhere in our industry. That being said, I believe Knuth has really missed a big mark in this new addition.

    My chief complaint of all of Knuth's "Art of" series is his incessant use of "MIX". MIX is Knuth's homebrew assembly language he uses to analyse the computer algorithms he describes. When Knuth first wrote the "Art of" series, assembly language was thankfully dying. 20 years later, no one but Knuth would even consider writing a book filled with such gibberish. There is no possible way at the end of the 1990s that this nonsense can be justified. Knuth has really missed the mark by insisting on having MIX in his books. What about C or C++, Pascal, BASIC, or even his own high-level psuedo-language? Here's the "God" of computer programming pushing this wretched gobbledygook on us. I can only attribute his horrid fascination with MIX to one of three things: Laziness (he doesn't want to rewrite his analysis - if this is true, then the new additions might need to be re-titled "The Art of Milking a Good Thing"), pride (he just can't give up his assembly language bastard-child he created), or ignorance. Either way, none of these are good justifications for why us plain mortals have to wade through this mine field of MIXed manure.

    Get with it Don! Come down to our level, be a little bit humble and give us a decent high-level language analysis of your favorite algorithms.

    MIX - R.I.P.

    88 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    The best book ever!
    Reviewed in the United States on July 28, 2012
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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 the most brilliant computer scientists of all times. Love this book, thank you Donald Knuth.

    7 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    The links available at the tap of a finger connect the dots quite nicely.
    Reviewed in the United States on September 18, 2014
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Classic text - used in data structures class years ago. Still quite relevant. The Kindle edition was extremely well done! The links available at the tap of a finger connect the dots quite nicely.

    6 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    It served its purpose
    Reviewed in the United States on February 18, 2014
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    This was a gift and the recipient loved it. It came in with excellent condition and arrived in time. BTW the recipient has a job related to the content of the book and hopefully this book had some positive effects.

    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 1 out of 5 stars
    Obsolete Graduate Textbook
    Reviewed in the United States on January 12, 2025
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Assembly language text book with beyond calculus math meant for graduate programmers from the 1960’s?! The text is super dense, it’s not worth your time to pry out what’s written in it. If you want the veneer of looking smart as an influencer on YouTube, just put this in your bookshelf behind you as background detail for your backdrop; otherwise, this book is meant to be recycled.

    2 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

Top reviews from other countries

    Translated by Amazon
    See original
  • 5 out of 5 stars
    It's best feature is it breaks everything down to it's smallest component so you can get complete understanding
    Reviewed in the United Kingdom on October 21, 2017
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Without a doubt this is an outstanding book; each passage is carefully written and structured so as to build up a complete view of a topic. As I read it I not only felt I was gaining understanding but confidence; many textbooks serve a reference - just a huge splurge of knowledge with no consideration given to how a pupil is going to digest it. Knuth's book is totally different in that he has very carefully considered the structuring, pitching, breakdown and discussion of a topic at every stage to ensure it is digestible for his reader. Obviously the content still gets the grey cells working but it's about as readable an academic book I think you'll get.

    One watch-out; although this is a Kindle edition it is not compatible with some readers; I could only read this on my PC.

    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Cuidado e atenção muito acima da média
    Reviewed in Brazil on November 23, 2020
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    A entrega chegou no prazo, com uma emabalagem muito bem feita e um cartão dedicatório escrito à mão. Livro muito bem conservado! Agradeço imensamente.

    Cuidado e atenção muito acima da média
    Cuidado e atenção muito acima da média
    Cuidado e atenção muito acima da média
    Cuidado e atenção muito acima da média
    Cuidado e atenção muito acima da média
    Cuidado e atenção muito acima da média
    5 out of 5 stars
    Cuidado e atenção muito acima da média
    Reviewed in Brazil on November 23, 2020

    A entrega chegou no prazo, com uma emabalagem muito bem feita e um cartão dedicatório escrito à mão. Livro muito bem conservado! Agradeço imensamente.

    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

    Translated from Portuguese by Amazon
    See original
  • 5 out of 5 stars
    Un classico
    Reviewed in Italy on April 11, 2016
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Da molti considerata la "Bibbia" dell'algoritmica; chiunque voglia fare dell'informatica il suo lavoro dovrebbe leggere questo libro. Inoltre, se sarete sufficientemente attenti da scovare un errore nel testo, il buon Knuth vi ripagherà con un assegno di $ 2.56 che potrete esibire fieri a tutti i colleghi.

    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

    Translated from Italian by Amazon
    See original
  • 5 out of 5 stars
    Rigorous introduction to fundamental datastructures
    Reviewed in Canada on May 19, 2017
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    The craftsmanship of this book is excellent, definitely the best quality book I have ever owned in terms of paper quality and printing. The first volume is also heavy on review material (the first 100 or so pages) and there's about 200 pages of exercise answers and index. There is an enormous amount of historical information included in the book too with detailed accuracy of paper publications and authors full names.

    The official requirements in the preface is some basic familiarity with computer hardware, some basic programming experience so knowledge of loops, variable assignments, ect., and if you wish to understand the math sections "a knowledge of elementary calculus will suffice" but keep in mind Knuth's idea of elementary is George Thomas' Calculus, which is heavily proof centric and rigorous (only the early editions from 1950s-60s are, they removed the rigor in later versions). If you can get the 3d or 4th version it will be the best math book you've ever read. Calculus and Analytic Geometry, 4th Edition (Addison-Wesley Series in Mathematics)

    Knuth was such a fan of Thomas' Calculus book that he chose to publish his own books with the same publisher, Addison-Wesley. Knuth also credits the book with helping him become a mathematician, because he worked through every problem set in the text which taught him how to solve problems, and he claimed he could later coast through his math classes because of learning this skill. Doing proofs and solving problems is a skill you just get better at by doing and being exposed to well written proofs such as the one's Knuth has given in this book, so if you run into problems with TAOCP exercises just keep doing them, eventually you will get better. There's many other math texts you could also use with this book which give you a crash course in proof writing, like "How to Think Like a Mathematician" by Kevin Houston but you will pick that up anyway if you do enough of the problems in this book. The mathematical preliminaries chapter of TAOCP are well written, you can definitely learn discrete math from them, and if you do the problems Knuth has written for the chapters you will be able to coast through much of the rest of the book like Knuth coasted through his classes, with exception to some grad level number theory in Volume 2 but all the exercises/problems are labeled in difficulty so you can estimate the time you will spend working on them.

    This version still contains MIXAL/MIX, instead of the more modern replacement Knuth wrote for it by releasing the MMIX fascicle. The fascicles are drop in replacements for the chapters. Dealing with 32/64bit, instead of nybbles that the original MIX architecture uses I found much easier to work with, if you want to do this volume in MMIXAL also consider getting "The MMIX Supplement" by Martin Ruckert which is a total rewrite of all exercises from MIXAL to MMIXAL though Knuth suggests you learn both, and the core material of the book is the same regardless of what architecture you do it in.

    This is optional, but to get exposure to assembly language programming, I read the book "Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e)" by Randal E. Bryant and David R. O'Hallaron. It gives a good enough introduction to how an assembly language and computer hardware works from a programmer's view. There is also the book "Code" by Charles Petzold which will explain OPCODES (mainly used in MMIX fascicle), "Programming from the Ground Up" by Jonathan Bartlett, and "The Elements of Computing Systems" By Noam Nisan and Shimon Schocken which also has a free course for it called Nand2Tetris. Any of the those books can prep you for the assembly programming requirements Knuth suggests in the preface though some googling and wikipedia is technically all you would need if you had a basic programming background Knuth will explain the rest in this volume.

    The analysis in volume 1 goes way beyond what I did in undergrad university algorithm design classes. Knuth will also teach you almost every kind of List/Tree datastructure that exists and their mathematical properties (self-balancing Trees are in later volumes), Stacks, Queues, Arrays, and debugging with trace routines. All of this material is still relevant today as the fundamentals of computer science haven't changed, with the exception of persistent functional data structures though having a solid knowledge of Lists/Tree structures and their analysis will help to learn those later. Knuth also has some good programming advice on how he handled writing large programs from scratch in the 1960s. There is also some material on garbage collecting on Lists at the end of this first volume which I found interesting on how it relates to SML/NJ or OCaml list GC performance. There is even some COBOL programming in this version used for a few examples.

    If you're interested in fundamental computer science algorithms and their analysis you should definitely get this book, and if you want to read any other volumes of TAOCP you will need to get this book too since MIX is introduced here in vol 1.

    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.

  • 5 out of 5 stars
    Delivery was in time and a good copy.
    Reviewed in India on July 30, 2016
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    A must read book for every programmer...hats off to Sir Donald Knuth.

    Delivery was in time and a good copy.

    Sending feedback...
    Thanks, we'll investigate in the next few days.

    We'll check if this review meets our community guidelinesOpens in a new tab. If it doesn't, we'll remove it.