counter create hit The Art of Computer Programming, Volume 1: Fundamental Algorithms - Download Free eBook
Ads Banner
Hot Best Seller

The Art of Computer Programming, Volume 1: Fundamental Algorithms

Availability: Ready to download

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


Compare
Ads Banner

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

30 review for The Art of Computer Programming, Volume 1: Fundamental Algorithms

  1. 4 out of 5

    David

    At first, I enjoyed this dense and scholarly volume. Knuth's dry humor is peppered throughout the book, but pops up most frequently in the first few chapters. It seemed at odds with the negative (and adoring) opinions I'd read about the book. I was told (by Knuth in his introduction) that I could skip as much of the math as I liked. So I dutifully skimmed through the math chapter and continued. Then I hit MIX. It's the theoretical computer to which all of the program examples in the book will be w At first, I enjoyed this dense and scholarly volume. Knuth's dry humor is peppered throughout the book, but pops up most frequently in the first few chapters. It seemed at odds with the negative (and adoring) opinions I'd read about the book. I was told (by Knuth in his introduction) that I could skip as much of the math as I liked. So I dutifully skimmed through the math chapter and continued. Then I hit MIX. It's the theoretical computer to which all of the program examples in the book will be written - in assembly language. It's interesting and clever and...awful. Please understand that I have read Knuth's defenses for using assembly language to teach his algorithms. I understand them. And they make sense. But now that I've slogged through this first volume, I can say with certainty that I hate MIX and I hate learning algorithms from MIX examples. "We hates it, we hates it, we hates it forever!" as Gollum would say. Is it important to understand how a linked list works in memory? Absolutely. Does worrying about the housekeeping of a fictional computer designed in the 1960s aid in that understanding? Absolutely not. Knuth admits that MIX is outdated and he's working on MMIX, which will be a much nicer RISC design. Certainly that would be an improvement. But I still feel a higher-level language (or a formaly-defined pseudocode) could show all of the lower-level concepts without the drudgery of assembly. Let's move on from the assembly example issues and talk about the content of Volume One. For all of the words and symbols, very little ground is actually covered! By the end of Volume One, you'll only have learned about lists (stacks, queues, deques, etc.) and basic trees. Which is not to say those aren't fruitful structures ripe for thorough examination - certainly they are, and Knuth examines them thoroughly. It's just to say that the pace is utterly glacial. In other words, and it pains me very much to say this, it's difficult to justify the time required to get through a book like this if you don't enjoy the MIX assembly puzzles or the higher math problems. I appreciate this incredibly thorough and accurate work the way I appreciate models of large gothic structures created with toothpicks. But while the toothpick model can be enjoyed at a glance as a piece of visual art, The Art of Computer Programming can only be appreciated with careful study. It's really quite difficult to put a star review on a single volume of a (some day) five-volume set of astoundingly thorough scholarship. In some ways, I don't even feel worthy of reviewing the thing. In the end, all I can do is rate the enjoyment and/or personal value of the knowledge I gained from the book. I'll be perfectly honest, the only "useful" (using an extremely loose interpretation of that word) thing I actually remember from Volume One is how to use a pair of stacks to efficiently simulate a FIFO queue. That's a pitiful statement considering the amount of time I put into reading the thing. I own the three-volume set (published before Volume 4A came out). My understanding is that the books get more interesting later on. The titles do sound interesting. But I can't get past the fact that they're going to be chock full of more MIX examples and exercises in higher math. It's going to be a while before I work up the stamina to crack the next one open.

  2. 4 out of 5

    Charles

    oh, who am i kidding? i have never read this straight through, but i think i've covered a lot of it over the course of 8 years as an engineer. if i was stranded on a desert island with enough food and water to last the rest of my life, this series of books is what i would take with me. there are so many puzzles in these books that it could keep you occupied for a lifetime. i don't know how one man wrote these books.

  3. 4 out of 5

    Hackman

    I really cant understand how one could write code without reading these books.

  4. 4 out of 5

    Warren Mcpherson

    This book outlines the design of computers and shows how many of the challenges of programming development have been addressed. It is a great and foundational computer science book. Today, understanding the operation of the processor is less critical and the way data structures are used has somewhat evolved. The math and assembly programs gave critical insight into practice and optimization at one time, however are less relevant now. Programmers who read it will still love this book. It was a nic This book outlines the design of computers and shows how many of the challenges of programming development have been addressed. It is a great and foundational computer science book. Today, understanding the operation of the processor is less critical and the way data structures are used has somewhat evolved. The math and assembly programs gave critical insight into practice and optimization at one time, however are less relevant now. Programmers who read it will still love this book. It was a nice validation to find the logic I had used once in a short program in one of the examples. It is striking how far the practice has come.

  5. 4 out of 5

    Michal Paszkiewicz

    An excellent learning resource for anyone with an interest in computers or mathematics. Not exactly a light read, but it provides a great set of tools that can be applied to many situations. The problem sets were concise, interesting and a far better substitute to doing sudokus on the morning commute. I tried to work through all the problems rated 25 or less, while glancing at the more complex/time consuming ones, but I sometimes lacked the skills to complete a problem. I would like to revisit t An excellent learning resource for anyone with an interest in computers or mathematics. Not exactly a light read, but it provides a great set of tools that can be applied to many situations. The problem sets were concise, interesting and a far better substitute to doing sudokus on the morning commute. I tried to work through all the problems rated 25 or less, while glancing at the more complex/time consuming ones, but I sometimes lacked the skills to complete a problem. I would like to revisit this book after reading a few of the suggested books in the bibliography.

  6. 5 out of 5

    Parnell

    Incredible resource for a self-taught programmer! I love the depth and precision of Knuth's mind and exposition. MIX, while old in design, is more than sufficient and can easily be replaced by the enterprising user with a modern tool. Doing all of the exercises is a tall order but I did do the majority of the "light" ones and a good number of the difficult problems. I highly recommend Don's books.

  7. 5 out of 5

    Anubhav

    It is one of the best books which makes me love Computer Science. It is simple and fascinating, and every chapter marks a new milestone...

  8. 5 out of 5

    Gregory Blake

    Donald E. Knuth's The Art of Computer Programming provides a detailed textbook for classical Computer Science, starting with the foundational mathematics and working through (in this volume) data structures such as Linked Lists, Trees, and Graphs. While authoritative and enjoyable to read, I personally felt unprepared (even with advance warning) for the sheer volume of mathematics in Chapter 1, and spent the first 120 pages reeling from notations that I hadn't read before. After the "Introductory Donald E. Knuth's The Art of Computer Programming provides a detailed textbook for classical Computer Science, starting with the foundational mathematics and working through (in this volume) data structures such as Linked Lists, Trees, and Graphs. While authoritative and enjoyable to read, I personally felt unprepared (even with advance warning) for the sheer volume of mathematics in Chapter 1, and spent the first 120 pages reeling from notations that I hadn't read before. After the "Introductory Mathematics", the book returned to more familiar ground detailing out algorithms, and (less important to the modern reader) how they might be implemented in a prototypal assembly language. I skipped over several types of content this book provided, firstly, the assembly implementations (because the lowest language I work in happens to be C, still a level up from Assembly), secondly, the exercises (which would have taken me until early next year, judging by the sheer amount), and thirdly, the parts of Knuth's proofs that made my eyes bleed. Overall, Knuth's writing voice is authoritative, friendly, and at times humorous. It's rare to find a Computer Science professor as enjoyable to read. Unfortunately, most notable algorithms covered in the book are also covered in other Computer Science manuals that you've probably read if you're readying yourself to joust this particular windmill. I'd recommend Volume 1. It certainly didn't scare me away from Volume 2.

  9. 5 out of 5

    Antti Karanta

    This book was somewhat of a mixed blessing. I really enjoyed the mathematical exactness and thoroughness. However, I did not at all like the decision to have the sample code in a made-up assembly language. That made the programs utterly unreadable. Maybe I'm just not HC geek enough, but IMO when the point is to present algorithms, the sample code should be clear and easy to read. Using a higher level language would have been more appropriate. Also, it would have been nice to have had flow graphs This book was somewhat of a mixed blessing. I really enjoyed the mathematical exactness and thoroughness. However, I did not at all like the decision to have the sample code in a made-up assembly language. That made the programs utterly unreadable. Maybe I'm just not HC geek enough, but IMO when the point is to present algorithms, the sample code should be clear and easy to read. Using a higher level language would have been more appropriate. Also, it would have been nice to have had flow graphs of all the presented algorithms instead of just a few of them. I also have to admit that this book was such heavy reading that at the end I began to read more marginally and skip some paragraphs, getting just an overview of certain subjects.

  10. 4 out of 5

    Mikael Onsjö

    Although well written and thorough with some delicious humor, this did not meet up to my expectations. I did learn a few things about this and that (not the least tree traversals) but much space was wasted on superfluous detail. For instance I did not care squat for the MIX assembly language code examples that took up page after page. Personally I'm very interested in math, but there was also a disconnect between the chapters on background theory and the later ones on algorithms.

  11. 4 out of 5

    Greg

    Knuth wrote this book for people who already know almost everything it tries to teach you. Sections move from easy to understand to immensely complex in a sentence or two. Finishing it is more of a badge of honor than an actual learning experience. Combine the fast pace with the outdated MIX computer, and the relevancy of this book to modern programmers is minimal. I still did learn some cool things, but it could have been a lot better.

  12. 4 out of 5

    Bence

    Amazing monograph on computer science, very didactically written. With well-thought structure and great excercises, it is perfectly suitable as a textbook for two full courses, as well as a textbook for independent study. The excercises themselves, especially from the first chapter, provide great entertainment for the so inclined reader, in many areas of mathematics.

  13. 5 out of 5

    Ian Carmichael

    More elegant science writing - one of the deep, foundational thinkers in Computer Science. Packed with insight, rigour, and interesting mathematical puzzles (I love mathematics, but usually I find mathematical puzzles very uninteresting.) And a ditto goes to Volumes 2 and 3.

  14. 4 out of 5

    Jakub

    Reading this book once is not enough. It's an amazing piece that everyone should read, or at least skim through. There are so great tips and insights I've never seen elsewhere, and reading the whole thing just opens up your mind to a lot of things.

  15. 5 out of 5

    Taneli

    This is a fantastic piece of literature for computer science. It is however, not an introductory book, so the reader must know quite a lot of mathematics and abstract computer programming to get the most out of this book. Even though it is quite old, it is still relevant in many ways.

  16. 5 out of 5

    Grigori

    He's crazy. He's brilliant. If you are a programmer - read it.

  17. 4 out of 5

    Kevin Watkins

    Obviously a classic but a really hard read due to everything being written in MIX - would much prefer pseudo-code.

  18. 4 out of 5

    Oleg Shmykov

    It is definitely expanding your horizons but if you skip the math and MIX there is not too much of useful information after all. Unfortunately this book was too hard to read and follow.

  19. 5 out of 5

    Darrell Ulm

    Essential reading for study of algorithms.

  20. 5 out of 5

    Sethborder

    Quite incredible. Took me a very long time to finish, but was absolutely worth it. Truly the gold standard for algorithm analysis.

  21. 4 out of 5

    Robert Fishell

    The foundation of modern computer science distilled into a single volume. The Knuth books are essential references for anyone serious about the field.

  22. 5 out of 5

    MBybee

    A classic and a gem.

  23. 4 out of 5

    Christian

    Still great, but in dire need of a 4th edition update; new readers should strongly consider getting the MMIX supplements. Flipped through the math section, but read the rest of the book page by page. Well, except for the proofs and exercises (only did a handful of them mentally). Picked up the books again with the aim to read volume 4 and its fascicles. We'll see.

  24. 4 out of 5

    NONATION

    the art is fantastic i nedd art in my life

  25. 4 out of 5

    Sven Meys

    It's a nice refresher for some essential math skills. Besides that it contains good info basic data structures. Too much detail for me personally. But when a problem arises that requires such detail, I will have the solution right there on my bookshelf. :) On to volume two! Yay!

  26. 4 out of 5

    Kelly

    I thought this would be more informative and instructive from a beginners, or at least intermediate point of understanding, but it was like trying to read med papers if you haven't gone to med school.

  27. 4 out of 5

    TK Keanini

    Very helpful book but I personally don't care for the style of the book.

  28. 4 out of 5

    Arun Rajappa

    Difficult, instructive, intelligent, amusing and brain-numbing - all rolled-in-to-one in this classic of CS. Buy it, read a page at a sitting and savor it - this is a book read over 5 years.

  29. 5 out of 5

    Sukanto

    very interesting book for beginner.Basic algorithm technique had been learned.

  30. 4 out of 5

    Roy

    Working through this book with a friend from the lab. Should be fun!

Add a review

Your email address will not be published. Required fields are marked *

Loading...
We use cookies to give you the best online experience. By using our website you agree to our use of cookies in accordance with our cookie policy.