Skip to content
Hardcover The Art of Computer Programming, Vol. 1: Fundamental Algorithms, 2nd Edition Book

ISBN: 0201038099

ISBN13: 9780201038095

The Art of Computer Programming, Vol. 1: Fundamental Algorithms, 2nd Edition

(Part of the Art of Computer Programming Series)

Select Format

Select Condition ThriftBooks Help Icon


Format: Hardcover

Condition: Good


1 Available

Book Overview

Details fundamental concepts and techniques of non-numerical analysis in computer programming, and discusses mathematical linguistics, language translation programming and basic, seminumerical, combinatorial, and syntactical algorithms.

Customer Reviews

5 ratings

The classic work of Computer Science

Some of the reviews here talk about how this book is not immediately useful for practical ends, and go on to say how MIX is obsolete, one doesn't have to know assembly anymore and so forth. I think they have missed the point. This series of books definitely emphasize the Science in Computer Science. They are scientific works, and are not meant to be immediately useful so that you can learn how to program an e-commerce site on a Windows 2000 server. If you want to learn that, go buy another book. If you want to learn about the most efficient algorithms capable of solving problems, if you want to learn the mathematical basis of how problems can be solved with computers, and how to do it on the underlying hardware, directly, with assembly code, this is the book for you. This is Knuth's life work, and an attempt to really contribute to capital C Computer capital S Science. It is not "Teach yourself programming PHP in 30 Days", if that is what you're looking for, you should certainly buy another book. If you are looking for what Knuth intended, this is the best that's currently out there.

Excellent book for learning fundamental algorithms well.

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.

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

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 includestate-of-the-art algorithms while retaining the basicstrengths and weaknesses of the books. This comes as arelief to many old-time programmers who, watching Knuth's20-year diversion in pursuit of typographic perfection, hadbecome convinced he was NEVER going to get around tocompleting the remaining four volumes of the series.The series's strength is its exhaustive survey and deepscientific analysis of the many algorithms applicable tothe areas of computer science covered. No other book orseries comes close in providing the reader with the toolsto understand and develop algorithms and to choose amongthe alternatives available when faced with a programmingchallenge requiring an algorithmic solution.Knuth's primary weapon for analysis is mathematics and hedoesn't hesitate in beating algorithms to death with abarrage of equations; in fact, on a few pages a reader canfind up to thirty summation signs. So a warning is inorder: readers with math anxiety are likely to be reducedto a state of insensate palpitation. Yet the books containvery little calculus or other higher mathematics and thus acollege sophomore should be able to follow the discussion.Also, the reader can skip all the proofs on first readingand simply trust that Knuth is telling the truth.Surprisingly, the series contains much background materialon the history of computer science and quite a bit of wryhumor. It is about as lively as can be expected of a seriesso deeply technical.The series's greatest weakness is the MIX assemblylanguage, which Knuth uses to illustrate algorithms, almostalways after first describing them in English. Althoughassembly language is necessary in order to maintain Knuth'sdeconstructionist approach, MIX is deeply rooted in the1960s concept of a computer, with no stack orgeneral-purpose registers. Worse, a reader returning to thebook after letting it lie fallow will find the MIXinstruction mnemonics are needlessly cryptic (What do"ENNX" and "JBUS" mean!?). Perhaps Knuth will update theinstruction set or improve the mnemonics in a futureedition.To sum up, I'd like to repeat some advice that was given tome in 1974 and is still true today: "If you want to be aprogramming technician, read about the latest programmingfad. If you want to be a computer scientist, read Knuth."-- Glenn Fawcett

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. 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.
Copyright © 2020 Terms of Use | Privacy Policy | Do Not Sell My Personal Information | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured