Knuth, Donald
Average customer rating:
- Commands a huge snob appeal but in reality half-useless
- Yeah, but is it art?
- A classic work where C, Java, ... do not have its place
- Nice to have all, but CS students can benefit mostly from vol 1
- THE classic work on Computer Programming Algorithms
|
The Art of Computer Programming, Volumes 1-3 Boxed Set
Donald E. Knuth
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Hardcover
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
General
| Reference
| Subjects
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
Look Inside Reference Books
| Trip
| Specialty Stores
| Books
Computers & Internet
| Boxed Sets
| Formats
| Books
Reference
| Boxed Sets
| Formats
| Books
Qualifying Textbooks - Spring 2007
| Stores
| Books
Similar Items:
- Concrete Mathematics: A Foundation for Computer Science (2nd Edition)
- The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming)
- The Art of Computer Programming, Volume 4, Fascicle 3: Generating All Combinations and Partitions (Art of Computer Programming)
- Art of Computer Programming, Volume 4, Fascicle 4,The: Generating All Trees--History of Combinatorial Generation (Art of Computer Programming)
- The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium (Art of Computer Programming)
ASIN: 0201485419 |
Book Description
Knuth's multivolume work, widely recognized as the definitive description of classical computer science, is now available in an attractive, boxed set. The three volumes included in this set have each been revised recently to reflect developments in the field. As earlier editions clearly demonstrated, they comprise an invaluable resource in programming theory and practice for students, researchers, and practitioners alike. Countless readers have spoken about the profound personal influence of Knuth's work. Scientists have marveled at the beauty and elegance of his analysis, while ordinary programmers have successfully applied his "cookbook" solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.
See descriptions of each individual volume for more information.
Customer Reviews:
Commands a huge snob appeal but in reality half-useless.......2007-02-22
Would be very good were it not for MIX. Sorry, I can't be bothered with it, life's too short. Otherwise very good: clear and concise writing, all's very relevant, discussion deep, all's great -- re-write it in C and I'll give it five stars.
This may not have been the case a thousand years ago when this book was written, but today there's enough good literature of this kind to not worry about TAoCP.
The books' structure and depth are somewhat unique though, so maybe this set is worth having if you got a lot of spare time and some spare money, but remember, for most people the sample code will be inaccessible: it's written in an unreal BS assembly language.
Yeah, but is it art?.......2005-12-10
Twenty five years ago, after five years of experience programming scientific applications (mostly math stuff, not much real programming beyond algorithms) I began a job programming business applications. At that time, there was very little general communal knowledge about very basic stuff we take for granted today like searching, sorting, memory allocation, data structures...
I began my collection with Knuth and another book (no longer in print) dedicated to data structures. These books defined me as a programmer. I learned MIX only because, as a programmer, I felt that I should be able to understand Knuth's abstraction. I admit that I was frustrated by having to do this. Ironically, even back then, the "other book" used, what was the de facto standard for generically describing algorithms, an ALGOL like language-very pretty!
Many of us have looked forward to Knuth rewriting his artful collection to satisfy our sense of aesthetics. We don't consider that he would have to repeat this huge task over and over again. Or (save me from this one) he could produce an obnoxious series of books titled "The Art of Computer Programming in C", "The Art of Computer Programming in C++", "The Art of Computer Programming in JAVA", "The Art of Computer Programming in C#", and (my favorite) "The Art of Computer Programming for Dummies". I thank Knuth for not doing this, although the last would certainly have a wide audience. Publishers know what they are about.
Another reason, in my humble opinion, that Knuth probably holds to MIX is that the latest generation of programmers do not have a clue what it is like to program a machine directly, or what is happening underneath the hood. There is a huge leap from MIX to MACRO, but the basic principles are still relevant.
The bottom line: YOU CAN COMPLETELY IGNORE MIX! All the relevant ideas are explained in simple plane English and the algorithms in structured English. Those who would prefer not to understand, but to simply cut and paste code, you are simply out of luck.
Now, if that isn't insulting enough (you caught me on a good day (after 32 years of programming I have come to hate computers and ...)) you would be amazed at how many self proclaimed senior programmers (programmers with more than three years of experience?) can't write an algorithm to save their lives.
BUY THE BOOKS! THEYRE A BARGAIN!
By the way, you all should read some of Knuth's other works. How many of us know that Knuth was an important player in getting rid of GOTO statements? I haven't written a GOTO statement in over twenty years! If my memory serves me (on a good day) Knuth wrote in an April edition of the ACM a paper titled, "Goto Bad, ComeFrom Good". He would be pleased to know that he anticipated the Publish-Subscribe Architectural Pattern.
A classic work where C, Java, ... do not have its place.......2005-11-28
The Art of Computer Programming is a classic work. The three first volumes cover only the basic core of programming techniques. There are enough exercices, with solutions, to keep you busy for the rest of your life. Several reviewers expressed a dislike at the MIX language used in these three volumes. But there is usually a pseudo-code description of the algorithm that can readily be converted to whatever "X" language you prefer or happen to enjoy on a particular day. I would never see Java (ouch!), C, Pascal, as being appropriate for this work. It would simply ruined the whole work. These languages have a semantics that is too imprecise. Knuth has gone one step further of including pseudo-code by providing precise code in a machine language that he has precisely described. What is needed is a new machine language closer to today's machine; and Knuth is working on that...but you will not find it in these three volumes.
Fascicle 1 of volume 1 has been published recently (summer 2005)-- for the final edition of this work with more volumes-- with a new machine language, the MMIX. It is a clear improvement on MIX. But we will have to wait for the final edition to see everything come together with MMIX. Go Don!
Nice to have all, but CS students can benefit mostly from vol 1.......2005-11-20
All three volumes of The Art of Computer Programming (TAOCP), are classic. Each is IMHO a book that every CS student should try to study reimplementing example by example. Not many will succeed to finish even half of one volume, but if you do please buy all three of them :-).
I think it's very important to study Vol 1. It gives enough exposition to the Donald Knuth style and brilliant thinking. It is the level of thinking of the author that represents the main value of the book: you instantly understand the 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)...
Please note that parts of Vol 1 on of TAOCP looks completely out of touch with reality especially MIX assembler.
Actually MIX assembler was outdated even when the book was first published and more reflects unique Knuth's background with IBM 650, not so much the state of hardware development in late 60th, 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.
But actually the statement above is not true: this is a book about timeless truths, not the book about the resent CS fashion like Java or you name it :-).
Each volume is very difficult to read; you really need to work your way thru each chapter by reimplementing the examples that Knuth gives in your favorite language (assembler might help but it is not essential).
Mathematical considerations as for average and worst running time 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. 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.
Actually the differences are so minor that are almost unnoticeable. 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.
THE classic work on Computer Programming Algorithms.......2005-07-07
`The Art of Computer Programming' by Donald Knuth ranks, in its field, at roughly the same level as `Statistical Methods' by Snedecor and Cochrane in statistics, `Mastering the Art of French Cooking' by Julia Child in culinary technique, and William Van Ornim Quine's book on Symbolic Logic. It is instructive to point out that as important as these books are, they are not on the same level as, for example, Isaac Newton's `Principia Mathematica' or Charles Darwin's `The Origin of Species'. That is, these are great teaching manuals whose primary achievement is in their ability to communicate their subject with their audience.
It is also important to distinguish the subject of these books from what is loosely called Software Engineering. The greatest classic of Software Engineering is Fred Brooks' `The Mythical Man-Month', which deals with big issues of software design and allocation of human resources to software projects. Knuth's books deal with algorithms. While Brooks' software engineering is similar to architecture, Knuth is dealing with a subject similar to the subset of civil engineering which deals with the loadbearing capacities of structural materials and shapes.
In my very first course on computer programming, my instructor said that programming had relatively little to do with mathematics (unless you happened to be programming mathematical calculations). The entire math you really needed to know was how to add one to a number. What he neglected to say was that computer programming has a whole lot to do with the related subject of symbolic logic which, by dumb luck, as I happened to be starting in a major in Philosophy, I was quite conversant.
So, Knuth is teaching us about algorithms which are logically based procedures, almost always involving repetition of the same action, and which can be formalized in languages which can then be fed into a computer to perform a function.
In the three volumes of the projected seven that Knuth actually completed, one volume deals with `Seminumerical Algorithms'. What that means is that his mathematical subjects are generally not the ones useful to you and me in daily life or even to a statistician, actuary, or engineer. They are typically tools used by mathematicians from which they can construct the tools used by statisticians, actuaries, and engineers, and you and me. It is highly topical to realize that one of the most important applications of Knuth's algorithms in his second volume are essential to cryptanalysis and the construction of codes. Chapter 3 on computation involving random numbers is an especially important tool of code construction and code breaking. Chapter Four, dealing with some of the basic algorithms of arithmetic is also relevant to the study of codes as it includes algorithms involving primes.
In detailing what this book does not cover, I have gotten a bit off track in dealing with Volume 2 before talking about Volume 1 and the medium in which Knuth presents his ideas. As this series was started in the mid-1960s, the number of commonly known third generation languages could be counted on one hand. In the business world there was COBOL, in the scientific world there was a rudimentary version of FORTRAN, and in the schools, there was Basic. In my first computer programming course, we learned three languages, one of which was literally a machine language punched onto paper tape, one was a second generation language on a pre-IBM 360 mainframe, and one of which was a 2 ½ generation language invented at my school, Lehigh University, called Wiz. It was a distant dialect of FORTRAN and it was strictly constructed as an educational tool. You may recall that the languages Basic, Pascal, and Modula 2 were also designed as training languages which simply busted out of their original use, in spite of serious limitations in language design.
All this is said in order to support the notion that in 1967, Knuth's inventing an assembly language (2nd generation) to teach algorithms was quite an accepted notion. So, this is what he did, and gave us the MIX language, named after the Roman numeral for 1009, which is the sum of the model numbers of sixteen different computers of the day which are similar to MIX and on which the MIX language can be simulated.
This was a time before the invention of C and UNIX when virtually all operating system software was written in assembly language. This included compilers, linkers, sorting utilities, disk management software and ... you name it, it was done in assembly language. Even a lot of applications had some assembly language routines in them for handling real processing bottlenecks.
This defines the application of most assembly language programming in its day. The main algorithms were those used in operating systems that managed the resources of the computer. And, in order to focus on the algorithms without prejudicing the dialogue by reference to a proprietary language, Knuth invented the generic MIX.
The most important contents of Knuth's books for a modern computer science student is his description of the major programming structures such as the tree, the stack, the queue, and the list plus his examples on how to analyze algorithms. Before you very modern students of object oriented programming pooh pooh something written in an assembly language, I should note that I was the hero of a major recent software project where I new how to use C to manipulate linked lists (learned from these very books), a technique for which C is exceptionally well suited, while my colleagues, all of whom, like me, came to programming from some other discipline with no benefit of formal training in programming structures.
There are certainly more modern books on these subjects, but there are probably none which are quite so authoritative and I suggest the effort in wading through the MIX language will pay off big time the next time you hit a particularly sticky application performance problem in you programming project.
Average customer rating:
- Just try sorting and searching with out this book.
- Mechanical things: foundations
- Vol 1 is the most important in the series and is a must for CS students
- As good today as ever it was
- The Golden Bough of Computer Algoriithm Analysis
|
Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition)
Donald E. Knuth
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Hardcover
General
| Algorithms
| Programming
| Computers & Internet
| Subjects
| Books
Software Design
| Software Design
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
General
| Operating Systems
| Computers & Internet
| Subjects
| Books
Mathematics
| Professional Science
| Professional & Technical
| Subjects
| Books
| Applied
| Chaos & Systems
| Geometry & Topology
| Mathematical Analysis
| Mathematical Physics
| Number Systems
| Pure Mathematics
| Transformations
| Trigonometry
Algorithms
| Computer Science & Information Systems
| New & Used Textbooks
| Stores
| Books
Programming Languages
| Computer Science & Information Systems
| New & Used Textbooks
| Stores
| Books
Qualifying Textbooks - Spring 2007
| Stores
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
Software Design
| Design & Development
| Software Books
| Custom Stores
| Stores
| Software
Similar Items:
- Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition)
- Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition)
- The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium (Art of Computer Programming)
- The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming)
- Art of Computer Programming, Volume 4, Fascicle 4,The: Generating All Trees--History of Combinatorial Generation (Art of Computer Programming)
ASIN: 0201896834 |
Amazon.com
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.
Customer Reviews:
Just try sorting and searching with out this book........2006-06-17
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.
I almost did not buy it when all I saw in it was mostly math. But I was desperate and it paid off. Turns out you could not explain it any other way. I use it primarily for balanced trees. I may try some thing more exotic later.
The set also looks impressive in the library.
Mechanical things: foundations .......2006-03-10
"The Art of Computer Programming" (TAoCP) is about machines and mechanical methods.
TAoCP is "about timeless truths" as the author writes. It's about CPU registers and memory cells. It's about counting the number of machine cycles a program will take. It's about precision. It's not about creating fancy Excel macros or adding pop-up windows to your web page.
Volume one contains two chapters. Chapter One first defines algorithms, gives basic math concepts for computer science starting with Mathematical Induction, continuing with a section on how to analyse algorithm, plus a couple of sections for people familiar with mathematical analysis (i.e. the math behind calculus). It ends with a complete description of MIX, a fictional computer, and of the machine language for programming MIX. (Note: MIX will soon be upgraded to the equally fictional MMIX). I won't repeat the author's rationale for sticking to machine language, and a fictional one at that! Suffice it to say that he has his reasons.
Chapter Two is about lists and trees, the most fundamental of data structures. Stacks, queues, and deques are lists with one or two entry and exit points. Linked lists have as many entry and exit points as there are elements, but careful! you need to worry about linking elements to one another, and ending with correct linking when adding or removing an element. And then there are trees, and the many ways to visit all nodes in a tree exactly once. Leftmost node first? Last? Middle node first?
Who should read this then? Patient people! Knuth published the first volume in 1966 and plans to finish the final edition of the fifth volume in 2015. This is not a For Dummies book, so don't expect to speed read through it. I skimmed the whole thing cover to cover, skipping the exercises and occasionally working hard at achieving perfect understanding of two or three pages (several hours!). I'm now going through it again more slowly, part by part, doing some of the problems. If I want, I can have fun with this book for the rest of my life.
Apart from that, well obviously computer science academics will enjoy TAoCP and find inspiration here for classes and tutorials. This is a monograph, so it is complete and mostly self-contained. It is also accessible to anyone willing to put in the hours to read it, and very little beyond a little programming experience is required.
Most of all, TAoCP is for people who enjoy thinking for its own sake, people who enjoy puzzling out and finding tricky solutions to what might seem like a straightforward problem. Some people enjoy tinkering with cars, others like building model ships. Like these activites, going through the exercises in TAoCP gives us what Fred Brooks calls the sheer joy of creating things.
By the way, it's worth learning MIX. I do the exercises in Perl (egad! I can only handle some of the problems...) but since the solutions are in MIX, it pays to know it well enough to read through Knuth's examples.
Vincent Poirier, Tokyo
Vol 1 is the most important in the series and is a must for CS students .......2005-11-20
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.
As good today as ever it was.......2005-11-05
This is the book. If you want to understand algorithms, read Knuth's masterpiece. These books are a pleasure to read: his wit, clarity and understanding are unparalleled. I highly recommend all three volumes (and the fourth one, when it is finished).
The series is divided into volumes, with two chapters per volume (so far). This volume contains Chapter 1: Basic Concepts and Chapter 2: Information Structures.
In the first chapter, Knuth introduces mathematical tools that are used constantly in the analysis of algorithms. This is pretty intimidating stuff, but Knuth is not one to try and impress his readers with his impenetrable mathematical prose; rather, he is like a guide who takes great delight in pointing out the marvelous sights of these unfamiliar landscapes.
Also in Chapter 1 is the much reviled MIX, a machine-level language for a fictional computer. Undoubtedly, Knuth's decision to use MIX as opposed to a higher level language is the most controversial aspect of this book. However, bear in mind that Knuth began writing this book in 1962---how well would the presentation have fared if the algorithms were presented in FORTRAN or ALGOL? Further, how could he have presented low-level concepts like subroutine linkage in a higher-level language? Some argue that Knuth should rewrite the books to use C instead of assembly; to them I say: How many people are really, truly conversant in C anymore? People use C++, Java, C#, VisualBasic, etc., not C.
Learning machine-level language has its own benefits: someone has to design compilers, virtual machines, operating systems and computers; at a minimum, those people must known machine-level language. People still program embedded computers, which sometimes means using a machine-level language. I firmly believe that learning machine-level language is important in and of itself.
Knuth made the right decision to use MIX. The best defense of MIX is Knuth's own, in the introduction. Still, if you don't want to learn MIX, all algorithms are clearly presented in English.
The second Chapter is an introduction to what we would nowadays call "Data Structures". Basic structures like arrays and lists prove themselves to be deceptively deep. Even more interesting is his treatment of trees, which are the absolute most useful data structures in the whole of computer science. Modern, high-level languages supply their own data structures (Java's collections, STL, etc.). These implementations are wonderful to have around---I use them myself---but they are one-size-fits-all. For the most part, they do "fit", but when they don't, we need to make our own. In this case, Knuth is there with the most clear, in-depth and comprehensive treatment I have seen of the topic.
In short, I can't recommend Knuth highly enough, but you may want to wait for the fourth edition to come out (around 2010). If you do wait, get a copy from your local university library and spend some time with the absolute classic book on algorithms.
The Golden Bough of Computer Algoriithm Analysis.......2005-07-07
`The Art of Computer Programming' by Donald Knuth ranks, in its field, at roughly the same level as `Statistical Methods' by Snedecor and Cochrane in statistics, `Mastering the Art of French Cooking' by Julia Child in culinary technique, and William Van Ornim Quine's book on Symbolic Logic. It is instructive to point out that as important as these books are, they are not on the same level as, for example, Isaac Newton's `Principia Mathematica' or Charles Darwin's `The Origin of Species'. That is, these are great teaching manuals whose primary achievement is in their ability to communicate their subject with their audience.
It is also important to distinguish the subject of these books from what is loosely called Software Engineering. The greatest classic of Software Engineering is Fred Brooks' `The Mythical Man-Month', which deals with big issues of software design and allocation of human resources to software projects. Knuth's books deal with algorithms. While Brooks' software engineering is similar to architecture, Knuth is dealing with a subject similar to the subset of civil engineering which deals with the loadbearing capacities of structural materials and shapes.
In my very first course on computer programming, my instructor said that programming had relatively little to do with mathematics (unless you happened to be programming mathematical calculations). The entire math you really needed to know was how to add one to a number. What he neglected to say was that computer programming has a whole lot to do with the related subject of symbolic logic which, by dumb luck, as I happened to be starting in a major in Philosophy, I was quite conversant.
So, Knuth is teaching us about algorithms which are logically based procedures, almost always involving repetition of the same action, and which can be formalized in languages which can then be fed into a computer to perform a function.
In the three volumes of the projected seven that Knuth actually completed, one volume deals with `Seminumerical Algorithms'. What that means is that his mathematical subjects are generally not the ones useful to you and me in daily life or even to a statistician, actuary, or engineer. They are typically tools used by mathematicians from which they can construct the tools used by statisticians, actuaries, and engineers, and you and me. It is highly topical to realize that one of the most important applications of Knuth's algorithms in his second volume are essential to cryptanalysis and the construction of codes. Chapter 3 on computation involving random numbers is an especially important tool of code construction and code breaking. Chapter Four, dealing with some of the basic algorithms of arithmetic is also relevant to the study of codes as it includes algorithms involving primes.
In detailing what this book does not cover, I have gotten a bit off track in dealing with Volume 2 before talking about Volume 1 and the medium in which Knuth presents his ideas. As this series was started in the mid-1960s, the number of commonly known third generation languages could be counted on one hand. In the business world there was COBOL, in the scientific world there was a rudimentary version of FORTRAN, and in the schools, there was Basic. In my first computer programming course, we learned three languages, one of which was literally a machine language punched onto paper tape, one was a second generation language on a pre-IBM 360 mainframe, and one of which was a 2 ½ generation language invented at my school, Lehigh University, called Wiz. It was a distant dialect of FORTRAN and it was strictly constructed as an educational tool. You may recall that the languages Basic, Pascal, and Modula 2 were also designed as training languages which simply busted out of their original use, in spite of serious limitations in language design.
All this is said in order to support the notion that in 1967, Knuth's inventing an assembly language (2nd generation) to teach algorithms was quite an accepted notion. So, this is what he did, and gave us the MIX language, named after the Roman numeral for 1009, which is the sum of the model numbers of sixteen different computers of the day which are similar to MIX and on which the MIX language can be simulated.
This was a time before the invention of C and UNIX when virtually all operating system software was written in assembly language. This included compilers, linkers, sorting utilities, disk management software and ... you name it, it was done in assembly language. Even a lot of applications had some assembly language routines in them for handling real processing bottlenecks.
This defines the application of most assembly language programming in its day. The main algorithms were those used in operating systems that managed the resources of the computer. And, in order to focus on the algorithms without prejudicing the dialogue by reference to a proprietary language, Knuth invented the generic MIX.
The most important contents of Knuth's books for a modern computer science student is his description of the major programming structures such as the tree, the stack, the queue, and the list plus his examples on how to analyze algorithms. Before you very modern students of object oriented programming pooh pooh something written in an assembly language, I should note that I was the hero of a major recent software project where I new how to use C to manipulate linked lists (learned from these very books), a technique for which C is exceptionally well suited, while my colleagues, all of whom, like me, came to programming from some other discipline with no benefit of formal training in programming structures.
There are certainly more modern books on these subjects, but there are probably none which are quite so authoritative and I suggest the effort in wading through the MIX language will pay off big time the next time you hit a particularly sticky application performance problem in you programming project.
Average customer rating:
|
The Art of Computer Programming, Volume 4, Fascicle 3: Generating All Combinations and Partitions (Art of Computer Programming)
Donald E. Knuth
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Paperback
General
| Algorithms
| Programming
| Computers & Internet
| Subjects
| Books
Software Design
| Software Design
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
General
| Software
| Computers & Internet
| Subjects
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
Qualifying Textbooks - Spring 2007
| Stores
| Books
Software Design
| Design & Development
| Software Books
| Custom Stores
| Stores
| Software
General
| Software Books
| Custom Stores
| Stores
| Software
Similar Items:
- The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming)
- Art of Computer Programming, Volume 4, Fascicle 4,The: Generating All Trees--History of Combinatorial Generation (Art of Computer Programming)
- The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium (Art of Computer Programming)
- The Art of Computer Programming, Volumes 1-3 Boxed Set
- Concrete Mathematics: A Foundation for Computer Science (2nd Edition)
ASIN: 0201853949 |
Customer Reviews:
Volume 4 continues..........2005-10-28
Only an author as smart and well known in his field as Donald Knuth would have tried this unusual format, which he terms a fascicle. In this third little book, he gives another extensive preview of his eventual fourth volume of "The Art of Computer Programming". When it finally appears, this volume is expected to span several books. In the interim, you will have to be content with these fascicles.
Even though this book is so slender, it is chock-a-block with tidbits, in the style of the first three volumes. Thus you can find out about a binomial tree, or even an infinite binomial tree. Or see how the Gray binary code also arises in the context of combinations.
An elegant aspect of this book is how Knuth ties in the discrete math of combinations with calculus applications. Quite often, these are two different worlds of maths, with different practitioners. Knuth uses the example of the varied properties of Bell numbers. Specifically, the rate at which these grow can be estimated by complex residues and saddle point analysis. Surprising results!
Average customer rating:
- What's old is new again
- Excellent but needs improvement
- Just try sorting and searching with out this book.
- The Encyclopedia of Algorithms
- Legendary book
|
Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition)
Donald E. Knuth
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Hardcover
General
| Algorithms
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
General
| Databases
| Computers & Internet
| Subjects
| Books
General
| Operating Systems
| Computers & Internet
| Subjects
| Books
Algorithms
| Computer Science & Information Systems
| New & Used Textbooks
| Stores
| Books
Programming Languages
| Computer Science & Information Systems
| New & Used Textbooks
| Stores
| Books
Qualifying Textbooks - Spring 2007
| Stores
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
Similar Items:
- Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition)
- Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition)
- The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming)
- Art of Computer Programming, Volume 4, Fascicle 4,The: Generating All Trees--History of Combinatorial Generation (Art of Computer Programming)
- The Art of Computer Programming, Volume 4, Fascicle 3: Generating All Combinations and Partitions (Art of Computer Programming)
ASIN: 0201896850 |
Book Description
The first revision of this third volume is the most comprehensive survey of classical computer techniques for sorting and searching. It extends the treatment of data structures in Volume 1 to consider both large and small databases and internal and external memories. The book contains a selection of carefully checked computer methods, with a quantitative analysis of their efficiency. Outstanding features of the second edition include a revised section on optimum sorting and new discussions of the theory of permutations and of universal hashing.
Customer Reviews:
What's old is new again.......2006-11-05
First the basics: it's great, it provides wide-ranging and deep analysis, it shows many views and variants of each problem, and its bibliography is helpful, though not exhaustive. The historical notes, including sorts for drum storage, may seem quaint to modern readers. And sorting has been done, right? You just run a shell program or call a function, and tap into the best technology. Does it need to be done again?
Yes, if you're on the edge of technology, it does need to be done again, and again, and again. That's because technology keeps expanding, and violating old assumptions as it does. Memories got big enough that the million-record sort is now a yawn, where it used to be a journal article. But, at the same time, processor clocks got 100-1000x ahead of memory speeds. All of a sudden, those drum-based algorithms are worth another look, because yesteryear's drum:memory ratios are a lot like today's memory:cache ratios of size and speed - and who doesn't want a 100x speedup? Parallel processing is moving from the supercomputing elite into laptops, causing more tremors in the ground rules. GPU and reconfigurable computing also open whole new realms of pitfalls as well as opportunities.
Knuth points out that the analyses have beauty in themselves, for people with eyes to see it. His analyses also demonstrate techniques applicable way beyond the immediate discussion, too. Today, though, I have nasty problems in technologies that no one really knows how to handle very well. I have to go back and check all the assumptions again, since so many of them changed. If that's the kind of problem you have, too, then this is the place to start.
//wiredweird
Excellent but needs improvement.......2005-09-03
Excellent reference.
However, I didn't like the idea of using MIX assembly language. Book would have been more readable if examples were in plain english pseudocode (even better would be 'C'). At least second edition should have taken care of this aspect.
I also suggest books from Cormen & Sedgewick on same subject.
Just try sorting and searching with out this book........2004-08-03
I just bought the book I needed out of the set. I needed to build a database that did not use any commercial package (this gives full access and no royalties). This book saved my bacon. I almost did not buy it when all I saw in it was math. But I was desperate and it paid off. Turns out you could not explain it any other way. This book goes way beyond binary, and bubble sorts. I use it primarily for balanced trees. I may try some thing more exotic later. I can not tell you about the other volumes but this one will defiantly pay for it's self.
The Encyclopedia of Algorithms.......2004-07-11
A previous review said: "This is a book about the science of algorithms. Algorithm's are either right or wrong."
Knuth uses the MIX programming language thoughout, and if you hope to learn programming by reading this book, you should look elsewhere. Someday we'll have 2^30 registers, and we will still be trying to make our programs work faster on this, as yet, uninvented architecture. But the fundamental concepts will remain the same, and people will still be reading Knuth to understand them.
A good reference for serious computer science students. Others should look at O'Reilly. They have some really good books on visual basic.
This is an encyclopedia of what is known about sorting and searching and what computers can do. It is nothing else.
Graduate students in computer science (especially those in theory, algorithms and the occasional compiler fan) will benefit. Hackers will probably not benefit from this book.
Legendary book.......1999-12-22
This book is bible of computer programming.
It contains most detailed explanation of searching and sorting methods I ever found in a book. Contains all internal sorting and searching and external sorting and searching algorithms.
The only drawback of the book is that all algorithms are written in MIX - some kind of assembler, and because of that they are hard to read.
Average customer rating:
- Very nice book
- Combinatorial Programming Simplified!
- a solid compendium of challenging problems
- Knuth's genius continutes...
|
The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming)
Donald E. Knuth
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Paperback
General
| Algorithms
| Programming
| Computers & Internet
| Subjects
| Books
Software Design
| Software Design
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
General
| Software
| Computers & Internet
| Subjects
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
Qualifying Textbooks - Spring 2007
| Stores
| Books
Software Design
| Design & Development
| Software Books
| Custom Stores
| Stores
| Software
General
| Software Books
| Custom Stores
| Stores
| Software
Similar Items:
- The Art of Computer Programming, Volume 4, Fascicle 3: Generating All Combinations and Partitions (Art of Computer Programming)
- Art of Computer Programming, Volume 4, Fascicle 4,The: Generating All Trees--History of Combinatorial Generation (Art of Computer Programming)
- The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium (Art of Computer Programming)
- The Art of Computer Programming, Volumes 1-3 Boxed Set
- Concrete Mathematics: A Foundation for Computer Science (2nd Edition)
ASIN: 0201853930 |
Customer Reviews:
Very nice book.......2007-02-02
Am studying Gray codes for graduate paper. This was an excellent resource. Fun and interesting read.
Combinatorial Programming Simplified!.......2006-10-11
First, I would like to say this is the first Donald Knuth book I have read, only because every programmer respects TAOCP so much that they say it is too hard for the hobby programmer. I have a small background in Computer Science, and some mid-level Math; yet Knuth walks you through some of the most exciting Computer Science problems you could ever dream of with ease! I came to find this book perfect, mostly because my favorite Programming problem is the Traveling Salesman, this book as well as fasicles 3 and 4, are the perfect reference to find great ways to venture into the unsolved TSP Algorithm, and the feared Hamilitonian Cycle.
Reading about gray generation I immediatly found so much more value to this book than I ever expected. As well, the book then jumps into ways to use loopless generation( which blew my mind! ). Then the best part comes in the second half of the book, "Generating All Permutations" First it starts with a brute force method for achieving all permutations, then Algorithm L to G(my favorite algorithm in the book...) is the largest hurtle in the book; I actually bought the whole TAoCP volumes so I could get through this part because it goes over permutation pre-multiplication ( Knuth has a better way of defining this ), although the idea is simple, an effective way to implement and explore pre-multiplication I found to be extremely important and should not be over looked. Then after that the diffictulty goes to equal as the first half.
In summary this book is deffinitly worth the wait, and it helps a person, no matter how experienced, to explore new ways to venture out of the straight and narrow, and into an arena of problems that few dare to venture.
a solid compendium of challenging problems.......2005-04-26
This preliminary excerpt from Knuth's Volume 4 will please all the fans of his seminal first three volumes. The didactic style is the same. So too is the very distinctive Tex typeface. (You know that he invented Tex, don't you?)
Of course, there are the problem sets. This little book has two sections. In each are 112 problems. Strewth! Knuth thoughtfully gives an estimate next to each of how long it will take you to solve it. Those estimates probably refer to someone of his calibre. I've attempted most of the problems in his earlier volumes and could typically only get within a factor of two of the time estimate. And this was only when I could actually solve a problem.
The book addresses a gap in the literature of computer science. Research papers in journals or books of conference proceedings do not usually present you with problems. While introductory texts do, but those are simple. Very difficult to find a solid compendium of challenging problems.
Such is the attraction of this book to me and perhaps to you. The potential readership is exclusive and self selecting. The only drawback is the wait for the rest of Volume 4.
Knuth's genius continutes..........2005-03-19
The Art of Computer Programming is a classic from Professor Knuth.
Volume 2 carries on where Vol. 1 left off.
this is required CS reading and should be required for every programmer.
Average customer rating:
- Reminds me of chess
- Classic text on Comp Sci
|
The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium (Art of Computer Programming)
Donald E. Knuth
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Paperback
General
| Algorithms
| Programming
| Computers & Internet
| Subjects
| Books
Software Design
| Software Design
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
General
| Software
| Computers & Internet
| Subjects
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
Qualifying Textbooks - Spring 2007
| Stores
| Books
Software Design
| Design & Development
| Software Books
| Custom Stores
| Stores
| Software
General
| Software Books
| Custom Stores
| Stores
| Software
Similar Items:
- The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming)
- The Art of Computer Programming, Volume 4, Fascicle 3: Generating All Combinations and Partitions (Art of Computer Programming)
- Art of Computer Programming, Volume 4, Fascicle 4,The: Generating All Trees--History of Combinatorial Generation (Art of Computer Programming)
- The Art of Computer Programming, Volumes 1-3 Boxed Set
- Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition)
ASIN: 0201853922 |
Customer Reviews:
Reminds me of chess.......2005-05-09
Decades ago, when Knuth wrote the first edition of his classic Art of Computer Programming, he invented an assembly language in which to implement the many algorithms of the books. He called it MIX. It was quite representative of the actual assemblers of the time [late 60s]. But time and Moore's Law marched on. The 8 bit nature of MIX grew increasingly outdated.
In response, Knuth gives us here a massively upgraded version, called MMIX. It operates on 64 bit wide data. Yay! Still a classic von Neumann architecture, mind you. But very spiffy. MMIX also has 256 general purpose registers and 32 special purpose registers, where these all are 64 bits wide, naturally. Plus, MMIX lives in an address space of 2**64 bytes of memory.
Unlike the Intel or AMD chips, which are CISC, Knuth opted for a RISC MMIX. So learning the opcodes is very rapid, if you have dealt with assemblers before.
This little text gets you up to speed in MMIX. Consider it as prep for the full volume 4, when that comes out. [Prof. Knuth, it's late.]
But this MMIX book is utterly unlike any other assembler book. It comes replete with programming problems (and answers) of considerable intellectual heft. Conventional assembler books simply don't do this. Their problems tend to be mundane and trivial. This book lets you find surprising conceptual depths hidden under a deceptively simple language. Compare this to chess.
Classic text on Comp Sci.......2005-03-19
The Art of Computer Programming is a classic from Professor Knuth.
this is required CS reading and should be required for every programmer.
Average customer rating:
- Numbers: random generations and arithmetic
- This book is a classic!
- Legendary book
- Fascinating
- State of the art reference for computer scientists
|
Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition)
Donald E. Knuth
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Hardcover
General
| Algorithms
| Programming
| Computers & Internet
| Subjects
| Books
Software Design
| Software Design
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Operating Systems
| Computers & Internet
| Subjects
| Books
General
| Software
| Computers & Internet
| Subjects
| Books
Algorithms
| Computer Science & Information Systems
| New & Used Textbooks
| Stores
| Books
Programming Languages
| Computer Science & Information Systems
| New & Used Textbooks
| Stores
| Books
Qualifying Textbooks - Spring 2007
| Stores
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
Software Design
| Design & Development
| Software Books
| Custom Stores
| Stores
| Software
General
| Software Books
| Custom Stores
| Stores
| Software
Similar Items:
- Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition)
- Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition)
- The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming)
- The Art of Computer Programming, Volume 4, Fascicle 3: Generating All Combinations and Partitions (Art of Computer Programming)
- Art of Computer Programming, Volume 4, Fascicle 4,The: Generating All Trees--History of Combinatorial Generation (Art of Computer Programming)
ASIN: 0201896842 |
Amazon.com
Volume 2 of Donald Knuth's classic series The Art of Computer Programming covers seminumerical algorithms, with topics ranging from random number generators to floating point operations and other optimized arithmetic algorithms. Truly comprehensive and meticulously written, this book (and series) is that rarest of all creatures--a work of authoritative scholarship in classical computer science, but one that can be read and used profitably by virtually all working programmers.
The book begins with fundamental questions regarding random numbers and how to use algorithms to generate them. Subsequent chapters demonstrate efficient computation of single-precision and double-precision arithmetic calculations and modular arithmetic. The text then presents prime factorization (which can be used in cryptography, for instance) and algorithms for calculating fractions. This volume ends with algorithms for polynomial arithmetic and manipulation of power-series topics, which will benefit those with some knowledge of calculus.
Throughout this beautifully presented edition, Knuth incorporates hundreds of useful exercises for trying out the algorithms. These range from simple problems to larger research project topics. (The book provides answers, where appropriate, at the end of the book.) The result is a text that's suitable for college or graduate-level computer science courses or individual study by programmers. Volume 2 is an indispensable part of any working programmer's library.
Customer Reviews:
Numbers: random generations and arithmetic.......2006-08-10
Volume 2 of "The Art of Computer Programming" is about random numbers and also about relearning one of the three Rs from grade school, viz. arithmetic. Each topic gets one chapter.
When you generate random numbers in Excel, or VBA, or Perl, or C using functions packaged with the software, you are really using a deterministic algorithm that is not random at all; the results do however look random and so we call them "pseudorandom".
Chapter 3 contains four main sections. First a section devoted to the linear congruence method (Xn+1=(aXn + c) mod m) of generating a pseudorandom sequence; with subsections on how to choose good values for a, c, and m. Second we get a section about how to test sequences to find if they are acceptably random or not. Third we find a section on other methods, expanding on linear congruence. Finally in a particularly fascinating section, DK provides a rigorous definition of randomness.
I haven't looked much at chapter 4 yet, on arithmetic. In it Knuth covers positional arithmetic, floating point arithmetic, multiplication and division at the machine level, prime numbers and efficient ways of investigating the primeness of very large numbers.
Again, DK is thorough and methodical. Again this is not a for dummies book. Again it is about theorems, algorithms, mechanical processes, and timeless truths. Again the exercises are a fascinating blend of the practical (investigate the random generating functions on the computers in your office) to the mathematical (he asks readers to formally prove many of the theorems he cites). And yes, again Knuth uses MIX, that wonderfully archaic fictional 60s machine language. But that should not stop readers; I use Perl.
Vincent Poirier, Tokyo
This book is a classic!.......2004-10-24
I recently modified a program I wrote so that it would do operations on polynomials with multi-precision coefficients. For this, I turned to Knuth. This 3-volume set is a great starting point for learning how to implement mathematical calculations on a machine.
Don't listen to the "Reader" from CA. This person obviously has a bone to pick with Knuth. Maybe (s)he failed one of his classes. Maybe (s)he should write his/her own book on the subject.
Legendary book.......1999-12-22
This book is the bible of coputer programming
It contains algorithms on pseudo-random sequences, algotithms on aritmetic operations on number, matrices ect.
The only drawback of this book is that all algprothms are writeen in MIX - some kind of assembler, that make them hard to read.
Fascinating.......1998-03-06
Of course this is a classic programming text, but the book is fascinating from a mathematical point as well. The discussion of random number generation is worth the price alone. Also neat is the discussion of why numbers with lower initial digits are 'more common' in practice than those with higher initial digits, a topic I've never seen treated elsewhere.
State of the art reference for computer scientists.......1997-10-07
This book offers a stringent treatment of random number generators and algorithms not found anywhere else. It is particularly valuable for those that deal with encryption and the analysis of cyphers. The exercises add admirably to the text. References to other books in the field are extensive. The book is written in a non-wordy, but still very readable style, making it accessible to serious computer scientists at all levels. A mathematical background is necessary.
Average customer rating:
- Great for comp sci and math majors...
- Expands upon a multi-volume work with hundreds of new programming exercises
- has a distinctive historical monograph
|
Art of Computer Programming, Volume 4, Fascicle 4,The: Generating All Trees--History of Combinatorial Generation (Art of Computer Programming)
Donald E. Knuth
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Paperback
General
| Algorithms
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
General
| Databases
| Computers & Internet
| Subjects
| Books
General
| Software
| Computers & Internet
| Subjects
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
Qualifying Textbooks - Spring 2007
| Stores
| Books
General
| Software Books
| Custom Stores
| Stores
| Software
Similar Items:
- The Art of Computer Programming, Volume 4, Fascicle 3: Generating All Combinations and Partitions (Art of Computer Programming)
- The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming)
- The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium (Art of Computer Programming)
- The Art of Computer Programming, Volumes 1-3 Boxed Set
- Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition)
ASIN: 0321335708 |
Customer Reviews:
Great for comp sci and math majors..........2006-04-30
I've known about The Art of Computer Programming volumes by Donald E. Knuth for some time, but I've always avoided reviewing them for fear of not being able to do them justice. But after being contacted specifically by the publisher asking if I was interested in the latest - The Art of Computer Programming, Volume 4, Fascicle 4 : Generating All Trees--History of Combinatorial Generation - I decided to give it a try. For the right audience, this is really good stuff. But I can tell you that I'm not it...
Content:
Chapter 7 - Combinatorial Searching: 7.2 - Generating All Possibilities; 7.2.1 - Generating Basic Combinatorial Patterns; 7.2.1.1 - Generating all n-tuples; 7.2.1.2 - Generating all permutations; 7.2.1.3 - Generating all combinations; 7.2.1.4 - Generating all partitions; 7.2.1.5 - Generating all set partitions; 7.2.1.6 - Generating all trees; 7.2.1.7 - History and further references; Answers to Exercises; Index and Glossary
Don't refresh your browser thinking the Content section didn't load properly. There's just chapter 7... For those who don't understand the "fascicle" concept (like I didn't before getting this volume), it's a small book (120 pages) of material that either updates writings in previous volumes or a "preview" of material that will eventually be rolled into a single volume (in this case, volume 4). Knuth has a lot of information he wants to convey, and by using fascicles, the public can get a steady flow of information and help shape the continuing evolution of the series. Interesting concept, and one I can appreciate. Another review stated that this was probably one of the "skimpiest" volumes in terms of mathematical knowledge. If true, then I fear what will await me with future installments. To get the most of out Knuth's work, you really do need to be well-grounded in computer science and mathematical theory. Every page is populated with numerous formulas to prove the subject matter, and I'll admit to being completely lost in most of it. That doesn't mean the book isn't good. It *is* excellent work, but I'm definitely not the target audience. I don't come from a formal computer science and mathematics background, so I'd have to really slog through everything from page 1 with supporting texts in order to fully benefit from it.
It wasn't a total loss for me, though... I enjoyed the History and Further References chapter, where he shows the tree theory and how it affected such things as literature and culture through the ages. Whether the ancient Chinese had all this in mind when developing the I Ching is open to debate, but the theory and underpinnings of trees is definitely there. And for those readers who really want to work through and apply the material, there are exercises galore at the end (with answers graciously provided for those who get stuck). You could likely set up a college level course based on this (and associated) book, and it would be foundational to a computer science degree.
So, for the right audience, this is the type of book that will allow for weeks of thought and learning. But if you're more like me, someone who deals more with business systems and development (without a comp sci degree to back it up), you'll likely miss most of the value here.
Expands upon a multi-volume work with hundreds of new programming exercises.......2006-04-14
The fourth volume in the classic ART OF COMPUTER PROGRAMMING: GENERATING ALL TREES: HISTORY OF COMBINATORIAL GENERATION add to and expands upon a multi-volume work on the analysis of algorithms in classical programming, updating sections of the set using a series of small fascicle books. This covers the generatio of all trees, a topic covered in the first three volumes of ART OF COMPUTER PROGRAMMING, and provides over a hundred new exercises to programmers.
has a distinctive historical monograph.......2006-03-30
This fascicle can perhaps best be read as a sequel to Knuth's Volume 3, on sorting and searching, where he discusses trees. The fascicle extends that into how does one generate every tree. Of the four fascicles thus published, this might be the skimpiest in terms of current mathematical knowledge. Though to a practising programmer, trees are a vital construct and the book could well have germane analysis. And, as with his other books in this series, there is a tough set problems that can be just as instructive and interesting as the text.
Still, to perhaps compensate for the thin length, the book contains a distinctive section on the history of combinatorial generation. Knuth delves into this subject while giving a deeper treatment of the maths than one would likely encounter in a popular text directed at a general audience. He cites the I Ching, as well as ancient Indian and Arab manuscripts. The I Ching is notable as it is still in print and likely to be familiar to many.
With the publication of this fascicle, the collective set of four would make a respectable book in its own right. However, Knuth is scarcely done yet. We can expect more fascicles, and soon, one might hope. And eventually, a hardcover.
Average customer rating:
- Couldn't put it down.
- One star--the extra is for referring to John Conway as God
- An amusing book that details an interesting subject in math
|
Surreal Numbers
Donald E. Knuth
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Paperback
General
| Science
| Subjects
| Books
General
| Algebra
| Pure Mathematics
| Mathematics
| Science
| Subjects
| Books
Number Theory
| Pure Mathematics
| Mathematics
| Science
| Subjects
| Books
General
| Mathematics
| Science
| Subjects
| Books
Technical
| Writing
| Reference
| Subjects
| Books
Number Theory
| Pure Mathematics
| Mathematics
| Professional Science
| Professional & Technical
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
Look Inside Reference Books
| Trip
| Specialty Stores
| Books
Look Inside Science Books
| Trip
| Specialty Stores
| Books
jp-unknown1
| Specialty Stores
| Books
Qualifying Textbooks - Spring 2007
| Stores
| Books
Similar Items:
- On Numbers and Games
- The Book of Numbers
- 3:16 Bible Texts Illuminated
- Winning Ways for Your Mathematical Plays, Vol. 1
- Things a Computer Scientist Rarely Talks About (Center for the Study of Language and Information - Lecture Notes)
ASIN: 0201038129 |
Customer Reviews:
Couldn't put it down........2001-11-13
This little book, written as a "novel", actually tries to show us that each of us is actually able to be an amature mathematician, and that "pure mathematics" is not that complicated once you get down to the rules.
For readers familiar with group theory notations, this is an easy and fun read.
Byeond the superlatives given all over to the nice and simple manner in which the number system is built in front of our eyes, I would also like to add I have noticed some ideas Knuth wanted the readers to absorb by reading this book of his:
* People too much into civilization need time off to "rest".
* After a long while of "resting" people need brain stimulations.
* The joy and interest in mathematics comes with the discovery, or at least after trying the best you can. Only then can you appreciate what others did in mathematics.
* Teachers in schools would rather tell you about math, and make you takes exams, and will not encourage creativity. This results in that only in graduate school are people allowed (and demanded) to start creating things of their own.
* Solving good math puzzles or solving any problem, is satisfying, and makes you horny!
* definitions proofs to theorems and ideas should be expressed as simple as possible, and they can always be expressed in a simple way.
I could go on with more ideas Knuth wanted to pass to the readers...
I read the book in one time, not putting it down for a minute. The flow of ideas and progress in building the number system (up to the pseudo-numbers) is clear and fun. I actually felt as if I was discovering things myself.
There is a lot which can be "further probed" after readnig the book, and Knuth appeals to teachers to gives seminars based on this text, and guides them how he would want those seminars to be like.
One star--the extra is for referring to John Conway as God.......2000-12-11
Stanford mathematician D. E. Knuth, in his slim volume Surreal Numbers, attempts to impart to the reader the notion of surreal numbers by way of a very unusual tactic: the dialogue. The book has two characters-a man and a woman-that, as a couple, have left Western society to find peace and their inner selves on a beach in India. After several months of swimming and picking berries, their intellectual needs begin to weigh heavy on them. In other words, they become bored. As luck would have it, their boredom is halted by the discovery of a stone tablet on the beach near their camp. The tablet reads, in Hebrew, "In the beginning, everything was void, and J. H. W. H. Conway began to create numbers." The tablet continues, giving the basic axioms that serve as basis for the creation of surreal numbers. The rest of the dialogue consists of our lovely couple discovering theorems and properties of surreal numbers using the axioms from the stone tablet. We see them take many wrong paths in their journey, only to realize and correct their errors in moments of sudden and poorly explained revelation. ....
To the math buff, I recommend studying up on these magnificent numbers. However, I do not recommend you use the present text to do so. It does little justice to the beauty of surreal numbers, and does even less in its explanation of their properties. The intention of the author, as he states in the postscript, is to present a math text in such a way that the reader not only learns of the topic discussed, but participates in its development. He sees the common math text as a dry conveyer of theorems and proofs that hides the intriguing and moving path of discovery that resulted in these theorems and proofs. He seeks, in Surreal Numbers, to write a sort of antithesis to this type of book. A grand goal, and one he does not achieve. In order to allow, or force, discovery by the reader, he avoids giving the details of many of the proofs. Often, his two characters just intuit the proofs in some moment of great inspiration. By the end, the characters seem like math protégés, whipping theorems out right and left without caution. True, the lack of proof does urge the reader to find the reasoning himself, but it is too tempting to just accept their theories in passing so you can get through that particular chapter. I really like math, but I was left utterly uninspired to fill in the gaps. In the author's defense, he does recommend this text be used as a supplement to another text or class. As such, you might find reason to attempt to complete the ideas, but most of the motivation would have to come from the instructor, as the book just does not make you care. Essentially, his goal would have been more easily reached-and probably bettered-if he forsake this confused dialogue for simply the following: "Here are the axioms for the surreal numbers:... Have fun!"
I do not wish to bash the use of dialogue to convey ideas. This form is not unprecedented in the world of mathematical literature .... To those who don't love math, nothing is going to work. He fell into a hole that many others who analyze different pedagogies of math fall into; he believes that everyone can see the beauty of math. ....
The dialogue itself was contrived and boring, occasionally alluding to food and sex in the midst of their mathematical orgy. Why even bother? Without further exploration, these side comments are just annoying and obviously just tacked on. In his postscript, the author states that an interesting topic to consider would be the differences of the personalities of his two characters. I don't see much to discuss here. Certainly, you can vaguely make out different approaches to math problems between the man and the woman, but there is not enough development to have more than about a five-minute discussion. He could have asked me to describe the conflicting ambitions of a triangle and a square, and I would have had more to say.
Though I admire Dr. Knuth's efforts, I just cannot recommend the present text. ....
An amusing book that details an interesting subject in math.......1999-02-01
This book, written in Knuth's classic style, employs a unique dialog to guide the reader through the derivation of the fascinating mathematical topic of surreal numbers. Its short length and humor makes it a must for any math fan interested in the methods used for deriving new concepts in math, and the exercises included make it a useful book for math teachers interested in giving something new to their students. All said, a lovely book.
Average customer rating:
|
Computers & Typesetting, Volumes A-E Boxed Set
Donald Ervin Knuth
Manufacturer: Addison-Wesley Professional
ProductGroup: Book
Binding: Hardcover
Web Graphics
| HTML, Graphics, & Design
| Web Development
| Computers & Internet
| Subjects
| Books
General
| Graphics & Multimedia
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Desktop Publishing
| Graphic Design
| Computers & Internet
| Subjects
| Books
General
| Graphic Design
| Computers & Internet
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
General
| Industrial, Manufacturing & Operational Systems
| Engineering
| Professional & Technical
| Subjects
| Books
Look Inside Computer Books
| Trip
| Specialty Stores
| Books
Computers & Internet
| Boxed Sets
| Formats
| Books
Engineering
| Boxed Sets
| Formats
| Books
Professional & Technical
| Boxed Sets
| Formats
| Books
Qualifying Textbooks - Spring 2007
| Stores
| Books
Similar Items:
- Digital Typography (Center for the Study of Language and Information - Lecture Notes)
- 3:16 Bible Texts Illuminated
- LaTeX Companion, The (2nd Edition) (Tools and Techniques for Computer Typesetting)
- The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium (Art of Computer Programming)
- Selected Papers on Computer Science (Center for the Study of Language and Information - Lecture Notes)
ASIN: 0201734168 |
Computer Pioneers:
- Lampson, Butler
- Lovelace, Ada
- Minsky, Marvin
- Nelson, Ted
- Neumann, John Von
- Papert, Seymour
- Postel, Jonathan
- Ritchie, Dennis
- Sinclair, Clive
- Stallman, Richard
Computer Pioneers
Computer Pioneers