This book introduces the mathematics that supports advanced computer programming and the analysis of algorithms. The primary aim of its well-known authors is to provide a solid and relevant base of mathematical skills - the skills needed to solve complex problems, to evaluate horrendous sums, and to discover subtle patterns in data. It is an indispensable text and reference not only for computer scientists - the authors themselves rely heavily on it! - but for serious users of mathematics in virtually every discipline.
Concrete Mathematics is a blending of CONtinuous and disCRETE mathematics. "More concretely," the authors explain, "it is the controlled manipulation of mathematical formulas, using a collection of techniques for solving problems." The subject matter is primarily an expansion of the Mathematical Preliminaries section in Knuth's classic Art of Computer Programming, but the style of presentation is more leisurely, and individual topics are covered more deeply. Several new topics have been added, and the most significant ideas have been traced to their historical roots. The book includes more than 500 exercises, divided into six categories. Complete answers are provided for all exercises, except research problems, making the book particularly valuable for self-study.
Major topics include:
- Sums
- Recurrences
- Integer functions
- Elementary number theory
- Binomial coefficients
- Generating functions
- Discrete probability
- Asymptotic methods
This second edition includes important new material about mechanical summation. In response to the widespread use of the first edition as a reference book, the bibliography and index have also been expanded, and additional nontrivial improvements can be found on almost every page. Readers will appreciate the informal style of Concrete Mathematics. Particularly enjoyable are the marginal graffiti contributed by students who have taken courses based on this material. The authors want to convey not only the importance of the techniques presented, but some of the fun in learning and using them.
Reviews (81)
Don't buy the Kindle version
The kindle version is borderline unusable. Should have known better that to buy the kindle version a math book where layout actually matters. Still, I'm surprised by how poor the quality is. I can understand layout not being quite right, but I'm shocked by the number of typos, missing characters, extra characters that appear to be format characters, missing line breaks, and apparently there's an issue formatting double and single quotes where the opening quote is usually a backslash \. If you're going to publish a kindle version of your book. Have enough respect for your readers to make it "readable".
A Path to Redemption for a CS State Schooler
I originally bought this book as a source of remedial study following the end of my US state school CS undergrad experience (I completed a BS Computer Science in 2013, > 3.5 GPA), and as preparation for V1 & V4 of TAOCP. I use the word remedial here in the sense that I felt that I was missing a critical foundation in the mathematical analysis and derivation of algorithms, even after the course-work of that degree. I've done 3 chapters of it in full, and I will mention a number of things that other reviews haven't talked about. Due to the horrendous time commitment of this book, I strongly suspect this is because those reviewers haven't actually worked through it, and have instead chosen to skim and allow Knuth fanboyism, along with the desire for mutual association, to cloud their opinions. I'm revoking a star simply to balance those reviews out, and so that graduates in similar situations have an actual informed critical opinion of this book to find among the reviews. Take-Aways (As of Ch 3): There are many aspects of summations, integer functions, and proofing that: I never saw covered in my CS degree, are unforgettable, and can be immediately applied to most algorithm research. Those alone make this book worth every penny. Further, the problems posed by this book are more than just repeated mechanics, as I have seen in books like those mentioned below. Each problem is carefully chosen, thorough, and exposes multiple aspects of each topic. They really do weed out many faults that I wasn't really exposed to- as a small example: the importance of ensuring validity of n-1 and n-2 hypothesis & base cases during an induction proof. The Bad: Students educated through a contemporary CS track at most American uni's, I believe, (e.g. Rosen Discrete Math, Cormen Algorithms) will find this book both terrifyingly terse and frustratingly paced. In many cases, examples are given without derivation. In many cases, important points are made without obvious connection to previous topics. This is not without a solution however, and getting through this book is often an acquired technique of paper noting things as-you-go, as well as a learned hyper-literacy. The terseness is also a double-edged sword, as sometimes I found it useful as an extra opportunity to practice the taught methods to see if I could come to the same result. Further, the reader should be prepared to go back and review propositional logic & university calculus theorems (atleast FTC, definite vs indefinite integrals). For example, the description of sum by parts in the section on finite calculus assumes _much_ from the reader, and being able to use university calc. as a point of reference to get through that is helpful. A lot of exercises are tersely explained in both problem and solution. Further, many solutions are totally left-field (having little to do with material in the book). This isn't necessarily bad, as even taking the wrong path to a solution is very educational. However, at some point the reader has to make a judgment as to how long to commit to a certain problem. Many terse problems & left-field solutions instill the wrong judgment: quitting too early. Conclusion: Attention to detail & extra work is necessary to overcome the terseness of this particular beast, but it's worth it. I recommend this book for developers confronted with algorithm optimization problems, as a well as for a different take on parts of discrete math, and definitely for students coming out of a US state school CS program, the last which this book complements very well. Having worked through some of V1 TAOCP, I would also say that the book is effective in expanding upon its math underpinnings (V1 at-least), and incidentally, does give one confidence to tackle Knuth's other works.
Do not buy the Kindle edition
The Kindle edition is unreadable. Ligatures are missing from the text, turning phrases like "first" into "rst". Mathematical notation is turned into gibberish.
Print version is great. Do NOT buy the kindle version
There are so many font and ligature issues in the kindle version of this book, it is virtually unuseable. But the print version is great. Other reviewers take issue with the lack of examples for some of the more advanced topics, and one reviewer attributes other's favorable reviews to Knuth "fan-boy-ism". I feel Knuth is (deservedly) a legend because of the topics he chooses and the detail in which he covers them--not because he always has the best way of presenting the information to students. Even though his books include exercises, I don't consider any of Knuth's books to be good textbooks and I am glad I never had to take a course where any of his books were used as the main text. I have been writing scientific applications software for over forty years, and Knuth's books have proven to be extremely valuable reference books for me. Compare the topics covered in Knuth's books to other algorithm books like Sedgwick or Cormen, et al. and you will find lots of useful information that is unique to Knuth.
Phenomenal introduction to discrete math & asymptotics
This book is classic Knuth: brilliant, comprehensive, inviting, and playful. Highly, highly recommended. This book is ideal for self-study. Material covered includes the basics of discrete math, plus some extras needed for analysis of algorithms. There is an explicit and polemical slant towards a concrete (Knuth calls it 'Eulerian') approach, but this basically just means the emphasis is on explicit calculation and motivating examples, rather than 'elegant' formality and abstraction. In terms of topics, the book starts with a chapter introducing recurrences, then guides the reader through developing familiarity and calculational skill with sums and sigma notation; floors and ceilings; modular arithmetic and a bit of number theory; binomial coefficients and special functions, finally culminating with generating functions, which provide a general framework for solving recurrences encountered in earlier chapters. There are also a couple of chapters on discrete probability and asymptotics, which round out the stated goal of the book: covering preparatory mathematical material needed for the analysis of algorithms in Knuth's Art of Computer Programming. As with TAOCP, the problem sets are as enjoyable and carefully constructed as the exposition, and the solutions are included in the back of the book (about 500 pages of exposition, and about 100 pages of solutions). These problems could easily keep an interested person busy for a lifetime. They are each graded using Knuth's customary scale, and range from the trivially easy to open research problems.
Beautiful book
This is one of the sexiest books I have ever received. It made me super pumped for the class even though the class was the bane of my existence and made me question my life decisions daily the sleek design of this book helped.
This is a very good collegiate level book
This is a very good collegiate level book, but not so great at explaining concepts to the high school level. I bought it intending to use it for high school discrete math class, but it ended up being a bit too compacted an explanation with a bit of an assumption that most discrete math was already known. Great for what it is, but not so great for being able to teach a high school class.
Classic Reference that's Fun!
This book is an expansion of the Preliminary Mathematics section of Book 1 of TAOCP by Knuth. Unlike TAOCP, the tone is much less dense, very relaxed and actually fun to read. Especially the sometimes tangential and sometimes downright funny graffitis. The book is great for self -study. As with TAOCP, problems are graded. Solutions exist to all problems - except research ones- but trying to solve them yourself will be the best way to use this book. Overall, worth every penny. A classic reference and must have.
This is fun stuff. It's an interesting take on discrete math
This is fun stuff. It's an interesting take on discrete math. In fact, it's really not discrete math; in includes discrete math but also includes other elements. I think this is especially good for the CS people, which is actually the intended audience.
This book is the best thing what could happen to me
This book is the best thing what could happen to me. Last few months I'm reading it constantly, doing exercises and understanding better whole math. Graham, Patashnik and Knuth have done great job. Thank you guys!
Don't buy the Kindle version
The kindle version is borderline unusable. Should have known better that to buy the kindle version a math book where layout actually matters. Still, I'm surprised by how poor the quality is. I can understand layout not being quite right, but I'm shocked by the number of typos, missing characters, extra characters that appear to be format characters, missing line breaks, and apparently there's an issue formatting double and single quotes where the opening quote is usually a backslash \. If you're going to publish a kindle version of your book. Have enough respect for your readers to make it "readable".
A Path to Redemption for a CS State Schooler
I originally bought this book as a source of remedial study following the end of my US state school CS undergrad experience (I completed a BS Computer Science in 2013, > 3.5 GPA), and as preparation for V1 & V4 of TAOCP. I use the word remedial here in the sense that I felt that I was missing a critical foundation in the mathematical analysis and derivation of algorithms, even after the course-work of that degree. I've done 3 chapters of it in full, and I will mention a number of things that other reviews haven't talked about. Due to the horrendous time commitment of this book, I strongly suspect this is because those reviewers haven't actually worked through it, and have instead chosen to skim and allow Knuth fanboyism, along with the desire for mutual association, to cloud their opinions. I'm revoking a star simply to balance those reviews out, and so that graduates in similar situations have an actual informed critical opinion of this book to find among the reviews. Take-Aways (As of Ch 3): There are many aspects of summations, integer functions, and proofing that: I never saw covered in my CS degree, are unforgettable, and can be immediately applied to most algorithm research. Those alone make this book worth every penny. Further, the problems posed by this book are more than just repeated mechanics, as I have seen in books like those mentioned below. Each problem is carefully chosen, thorough, and exposes multiple aspects of each topic. They really do weed out many faults that I wasn't really exposed to- as a small example: the importance of ensuring validity of n-1 and n-2 hypothesis & base cases during an induction proof. The Bad: Students educated through a contemporary CS track at most American uni's, I believe, (e.g. Rosen Discrete Math, Cormen Algorithms) will find this book both terrifyingly terse and frustratingly paced. In many cases, examples are given without derivation. In many cases, important points are made without obvious connection to previous topics. This is not without a solution however, and getting through this book is often an acquired technique of paper noting things as-you-go, as well as a learned hyper-literacy. The terseness is also a double-edged sword, as sometimes I found it useful as an extra opportunity to practice the taught methods to see if I could come to the same result. Further, the reader should be prepared to go back and review propositional logic & university calculus theorems (atleast FTC, definite vs indefinite integrals). For example, the description of sum by parts in the section on finite calculus assumes _much_ from the reader, and being able to use university calc. as a point of reference to get through that is helpful. A lot of exercises are tersely explained in both problem and solution. Further, many solutions are totally left-field (having little to do with material in the book). This isn't necessarily bad, as even taking the wrong path to a solution is very educational. However, at some point the reader has to make a judgment as to how long to commit to a certain problem. Many terse problems & left-field solutions instill the wrong judgment: quitting too early. Conclusion: Attention to detail & extra work is necessary to overcome the terseness of this particular beast, but it's worth it. I recommend this book for developers confronted with algorithm optimization problems, as a well as for a different take on parts of discrete math, and definitely for students coming out of a US state school CS program, the last which this book complements very well. Having worked through some of V1 TAOCP, I would also say that the book is effective in expanding upon its math underpinnings (V1 at-least), and incidentally, does give one confidence to tackle Knuth's other works.
Do not buy the Kindle edition
The Kindle edition is unreadable. Ligatures are missing from the text, turning phrases like "first" into "rst". Mathematical notation is turned into gibberish.
Print version is great. Do NOT buy the kindle version
There are so many font and ligature issues in the kindle version of this book, it is virtually unuseable. But the print version is great. Other reviewers take issue with the lack of examples for some of the more advanced topics, and one reviewer attributes other's favorable reviews to Knuth "fan-boy-ism". I feel Knuth is (deservedly) a legend because of the topics he chooses and the detail in which he covers them--not because he always has the best way of presenting the information to students. Even though his books include exercises, I don't consider any of Knuth's books to be good textbooks and I am glad I never had to take a course where any of his books were used as the main text. I have been writing scientific applications software for over forty years, and Knuth's books have proven to be extremely valuable reference books for me. Compare the topics covered in Knuth's books to other algorithm books like Sedgwick or Cormen, et al. and you will find lots of useful information that is unique to Knuth.
Phenomenal introduction to discrete math & asymptotics
This book is classic Knuth: brilliant, comprehensive, inviting, and playful. Highly, highly recommended. This book is ideal for self-study. Material covered includes the basics of discrete math, plus some extras needed for analysis of algorithms. There is an explicit and polemical slant towards a concrete (Knuth calls it 'Eulerian') approach, but this basically just means the emphasis is on explicit calculation and motivating examples, rather than 'elegant' formality and abstraction. In terms of topics, the book starts with a chapter introducing recurrences, then guides the reader through developing familiarity and calculational skill with sums and sigma notation; floors and ceilings; modular arithmetic and a bit of number theory; binomial coefficients and special functions, finally culminating with generating functions, which provide a general framework for solving recurrences encountered in earlier chapters. There are also a couple of chapters on discrete probability and asymptotics, which round out the stated goal of the book: covering preparatory mathematical material needed for the analysis of algorithms in Knuth's Art of Computer Programming. As with TAOCP, the problem sets are as enjoyable and carefully constructed as the exposition, and the solutions are included in the back of the book (about 500 pages of exposition, and about 100 pages of solutions). These problems could easily keep an interested person busy for a lifetime. They are each graded using Knuth's customary scale, and range from the trivially easy to open research problems.
Beautiful book
This is one of the sexiest books I have ever received. It made me super pumped for the class even though the class was the bane of my existence and made me question my life decisions daily the sleek design of this book helped.
This is a very good collegiate level book
This is a very good collegiate level book, but not so great at explaining concepts to the high school level. I bought it intending to use it for high school discrete math class, but it ended up being a bit too compacted an explanation with a bit of an assumption that most discrete math was already known. Great for what it is, but not so great for being able to teach a high school class.
Classic Reference that's Fun!
This book is an expansion of the Preliminary Mathematics section of Book 1 of TAOCP by Knuth. Unlike TAOCP, the tone is much less dense, very relaxed and actually fun to read. Especially the sometimes tangential and sometimes downright funny graffitis. The book is great for self -study. As with TAOCP, problems are graded. Solutions exist to all problems - except research ones- but trying to solve them yourself will be the best way to use this book. Overall, worth every penny. A classic reference and must have.
This is fun stuff. It's an interesting take on discrete math
This is fun stuff. It's an interesting take on discrete math. In fact, it's really not discrete math; in includes discrete math but also includes other elements. I think this is especially good for the CS people, which is actually the intended audience.
This book is the best thing what could happen to me
This book is the best thing what could happen to me. Last few months I'm reading it constantly, doing exercises and understanding better whole math. Graham, Patashnik and Knuth have done great job. Thank you guys!
One Star
Kindle version is barely readable. Math notation is turned into gibberish
Maybe best book of its kind, but no walk in the park.
I love this book. It's extremely dense, which is great for me because I will keep learning from it for months or years to come. If you're relatively new to the subject, like me, a lot of this book won't be easy to comprehend the first time around, however with determination and online resources for help, you can get through it. Even without online resources, if you keep going when you don't understand something, and try to work out the examples on paper, you will get far. After studying this book for a while, go back to the sections that you missed the first time and they should make more sense. Try as many of the exercises as you can, some are very difficult, but others can be accomplished the first time around. This book is not for the faint of heart. If you aren't using it for a class, it will take a lot of dedication to make it through. That said, it's one of the best resources for learning discrete and continuous mathematics that relate to computer science. A great precursor to many of the great algorithm books.
You get out of it what you put into it.
I'm only on Chapter 3. It has been an outstanding two chapters and I wish I would've known about this book while in high school. All bored high school students intending to pursue a degree or career solving mathematical problems, buy this and enjoy a well presented account of real mathematics. I recommend this book for (future) computer scientists, programmers or mathematicians. For computer scientists or programmers, this should be required reading; read it whether you like mathematics or not. If you can't work through this material and you label yourself a programmer or computer scientist, it's highly probable that you won't be or aren't a good one, and should look into another career. Maybe some can breeze through this book and comprehend what they read. I am not one of them. This book has been slow going; the authors don't waste words. Pay attention to their definitions and reevaluate their examples if you get stuck. I've always been able to determine that I missed an important little piece of information in a definition or example, and that they have always provided all the information needed to solve most chapter's problems. I have found that I get out of it as much as I put into it. Sometimes that involves rereading a chapter more than thrice or working through a chapter's problems for hours. Once you "get it" though, it is a great feeling; it's addicting to some extent. Understanding one problem generally leads to understanding the deeper, more interesting problems. Reading this book has been personally and intellectually rewarding; I'm excited to see what's in store in later chapters. So far, this is one of my favorite mathematics books. DON'T SKIP WORKING THROUGH THE PROBLEMS! Work as many of them as you can. Good luck, have fun. :-)
Elementary classical introduction to number theory and combinatorics.
Although with a lot of many different topics in number theory and combinatorics, this books offers a great introduction in these areas.
Great reference for aspiring Computer Scientists! Utility is dependent on one's *math* preliminaries.
This is a wonderful and desk reference, proving holistic coverage of all the math-oriented themes in CS study and practice. It is especially helpful if you already have a solid background in math, up to at least College Calculus I. If you need to write a proof of some algorithm, it has countless examples of proofs to draw inspiration from, and includes many examples of the (genius) author's thinking when they work their way to proofs. I'm quite glad I own it as Concrete Mathematics is a monumental achievement and quite comprehensive. It gets 4 instead of 5 stars because despite having, as advertised, complete coverage of the mathematical topics needed for Computer Science, it is NOT a math book designed to teach you how to *conceptualize* the content it covers. It is heavy on examples and light on theory, and so is not particularly apt for developing one's math schemas. Let me reiterate this point: "Concrete Mathematics" will NOT teach you Pre-Calculus, Discrete Mathematics, or Calculus concepts. If you don't already have a robust mathematical repertoire, this book will not instill a sense of confidence that you're doing things correctly when working on your own. In the Introduction, it says it was written based on an undergraduate class the authors routinely taught... but what seems missing from this book is the *teaching part* of their lecture series. One gets the impression reading it that students who took the course must have all been math aces prior to setting foot in the lecture hall, that they needed only to learn how to apply their considerable math talents to the Computer Science problem domain. I was fine reading and applying the content in this book, but I felt I should warn people looking for math instruction that they will need to supplement this volume with additional "pure math instruction" textbooks (Brief Applied Calculus, Discrete Math, etc.).
So far, a good read, I can't wait to read more.
And, I hope I can get the time to finish it. This is a good prelude to some of the more agressive algorithm books out there, if you take any very advanced programming courses--and gets you mroe ready for some of the Knuth books (now there's a challenge).
must read
Anyone interest in understanding how to evaluate algorithms must read this book.
What I was missing
I always felt that there were few topics that I was missing and I needed different books to get the information. This book is perfect for a Computer Scientist!
Five Stars
Great book for studying math
other than this it's good
now obviously this is Knuth, so lots of information there, im still going through the book but sometimes i feel im lost at certain points which needs me to do some search somewhere else, other than this it's good knowledge
Still useful.
Classic. Still useful.
Concrete Math is fun
This book is great. It is the funnest math book I have worked with, and I appreciate the intensity of the mathematics -- something that is falling out of the norm in computer science. The book is also a great source of fantastic combinatorics.
this is a very nice intermediate material to this must to know subject
Not that I've seen many discrete math books, nonetheless, this is a very nice intermediate material to this must to know subject.
amazing book
It simply teaches you how to think in a simple way without complex unproven theorems. I really recommend this book.
Five Stars
Very nice to find a rare book to give as a Christmas present. Speedy delivery. Nice
Five Stars
Development seems not too deep but problems and exercises make it an extremely interesting book.
Groundbreaking!
The perfect book for individuals seeking true math.
High quality and delivered on time.
High quality and delivered on time.
Four Stars
great!
Too concrete
Perhaps I had it coming, but this book really means concrete, as in "not abstract", by "concrete". The general format for the chapters is some initial, simple motivation, followed by the introduction of some new tool or transformation, then a couple problems to test out the new tool and flesh out some more details. Often the new tools use the old tools introduced earlier in the book (usually "via magic" -- it's often not structurally clear why the old tools are useful in definition of the new tools, they just use them out of nowhere). Initially things went okay for me, but quickly the book just got incredibly overwhelming because it became difficult to keep track of everything that I had learned thus far, primarily due to the complete lack of abstraction. Maybe others are better at keeping a huge number of concepts in their working memory, but for me, I need some way to organize things, and this book did not provide that at all due to its pedagogically-ordered introduction of the concepts and no appendix or anything on how things fit together from a top-down point of view. As a concrete example, when generating functions are introduced, they use formal power series, which aren't really introduced. At no point is it really mentioned that these power series that you are working with are not actually functions, but instead just objects which form a ring (there are ways of explaining or hinting out this without actually using the abstract algebra terminology, but none of them were taken). Instead, confusing comments are made regarding divergence, and what looks like illegal operations on functions are applied over and over with no real explanation of what's going on. A tiny bit of abstraction here would have gone a long way, I think. Overall, I did certainly learn things, but I don't know how many of them I'll be able to remember. Your mileage may vary, but if you are someone who needs a little abstraction to keep things in order, this book can be a frustrating experience.
Five Stars
Arrived quickly and was what my son wanted.
Great book... some reviewers simply don't get it.
I have the First Edition and came here to look into the Second Edition. There are several negative reviews and basically those folks have fundamental misunderstandings. So I'll add my review. First, what kind of book is it? It is not an introductory-level math book with lots and lots of repetition. It is a book on hard math, done in a concise manner by brilliant teachers who assume students are very comfortable with calculus, probability, etc. You really cannot afford to skip around and dabble as if this were an introductory algebra course or something. (I'm not being elitist. I did not attend Stanford and don't consider myself a math genius and am not making this a "we versus the unwashed masses" issue, as I have really struggled with the material myself.) Second, what is the book about? Several reviewers have theories on where the "Concrete" part of the title comes from, but the bottom line is that it's a book on the discrete math that you need to know for theoretical computer science. (For example, discrete calculus versus the continuous calculus we all learned in school.) Any Analysis of Algorithms course, for example, will confront you with recurrence equations and lots of discrete math. Third, how is the book organized? At first, it appears rather disjoint. The authors have a sort of, "Hey, look at that flower," and "hey, look under this rock" kind of approach as you walk down a path but the path itself isn't really spelled out. None-the-less, the book does build step-by-step from examples of recurrence equations (Towers of Hanooi, Josephus) in Chapter 1, to Generating Functions in Chapter 7. Perhaps they could have made the path more explicit, but I can't see how they'd organize it much differently. They could throw entire chapters into Appendices, but things build on each other in such a way that you'd simply have to skip around from the main chapters to the Appendix anyhow. Fourth, what other books cover this material? I'm not well-qualified to talk about the entire universe of books, but I must say that the three Analysis of Algorithm books I have for my current class definitely give only the very basics of this material and really only present two possibilities: 1) fiddle around with the equation, possibly using a graphic representation, until you see a pattern and make a guess, then prove it by induction, or 2) if your algorithm is one specific class, plug some numbers into this 3-part formula and if one of the parts applies an answer will pop out for you. Concrete Math is gives you many powerful tools to solve such problems. Fifth, what is the flavor of the book? The authors have an informal writing style -- outside of the very formal math and proofs -- and the book has marginal notes that were contributed by the "beta-tester students" as the book was being written. Some reviewers have criticized the marginal notes, and I simply have to shake my head and be glad I don't have to work alongside them. Yes, many of the notes are puns or other humor, but those are a nice break from the heavy math. And many of the notes provide great hints and perspectives from students who are also learning the material. I wish all technical books had such notes, but only a Knuth could get a publisher to go to the trouble. So that's my review. An excellent book that's very intense and covers a hard, very technical topic. It's like learning math from algebra to differential equations all over again in a different language, and perhaps the negative reviewers simply never understood this. If you're not a programmer who needs to rigorously analyze algorithms, skip the book unless you simply want to learn for the joy of learning.
So many typos!
The number of typos in the first few pages of this book is very suspicious, especially the number of words missing the letters "fi" (e.g. "first" spelled "rst"). It may be a great course at Stanford, but this book has problems.
My favorite math text of all time
I've read a lot of math books: I majored in math in college, got a PhD in CS (in cryptography, specifically) and I love doing math recreationally. This is simply the best math text I've seen: it's got real math in it (quite difficult material in places, in fact), and yet has a lighthearted and fun-spirited approach. The graffiti can be lame sometimes, but add something to the book. And the exercises are all thoroughly answered within the text (as Knuth tends to do in all his books). I have used some of the techniques in my research, or as stepping stones to more advanced study that then fed into my research. I am a CS professor now, and although I would LOVE to use this text in a course, it's unfortunately too advanced for our students in a discrete math class. Still, it's a gem on my shelves and a gift to the world. Highly recommended.
My Favorite Math Book, Hands Down
This is by far my favorite math book. I was introduced to it in a Putnam preparation course and didn't buy it at first (seemed too over the top). I found it in the library and used the school's book for some assignments. After a few nights studying out of the book I went off and bought it for myself, (half price, what a steal!) Granted, the book isn't for everyone, but if you even a glint of interest in discrete mathematics, you should definitely pick this book up. I have not yet worked by way through the whole book (I've only solidly covered a sixth of it, but I've referenced about three quarters of it over the course of owning it). Here's what I like the most about the book: - Good density / readability trade-off. Some math books are dense to the point that each page should take you an hour or more to fully understand. This isn't THAT bad, but it is definitely denser than your first year calculus texts. If you're used to breezing through a chapter that covers 2-6 concepts followed by some practice problems, you're going to have to get used to slowing down and doing some serious re-reading. I would estimate that getting a good grasp of each chapter takes about 20 to 60 hours of work, depending on how strong you are with the material. This includes time for solving the problems at the end of the chapter. This may sound like a lot, but trust me when I say you will know all the tricks of the trade when you're finished. - Intuitive approach. I find many texts will spend a lot of time walking through the material in a very linear fashion. In the sense that the organization of the material makes sense once you've absorbed it, but seems random and un-ordered as you learn it. This book is ordered very intuitively the first time you read it, in the sense that the ideas seem to flow where your mind does when you first pick up the material (does this make sense?) Most chapters open with a (refreshingly tough) problem and you are walked through the solution as you learn the techniques you need to solve it. You'll pick up some very powerful problem solving techniques as you read this book. - Good depth. Instead of telling you how to manipulate certain classes of sums, the authors go deep into the powers at work behind the problems, as well as "tricks of the trade". Some of the sum manipulations I've learned in this book I have yet to see elsewhere, and they're very handy! For example, a type of "discrete calculus" is defined, which will let you find the closed form for the sum of integers (1 through n) to the power of k with remarkable ease (it uses stirling numbers, I'm sure you can find it on the net.) What I don't like about it: - Doesn't take a very deep plunge into number theory. Covers the basics very well, but wont get you into RSA. - Does not blend in continuous mathematics as well as I'd hoped. In short, this book covers basic topics in discrete math very well. After reading this book you will be extremely comfortable manipulating sums, discrete probabilities, and number theory. It also gives you a surprisingly in-depth look at discrete math you don't often encounter in your undergraduate courses, including: - Floor / ceiling functions and manipulating them. - Binomial coefficients (n choose k). - Generating functions. - Special numbers (stirling, fibonacci, harmonic, etc.) - O-notation (this is where the computer science finally kicks in). Do read this book if you are: - A math undergraduate. - Someone who enjoyed math but lost touch with it long ago. - Someone raised on continuous mathematics (calculus, high school math, analysis) looking to diversify their thinking. - Into prime numbers, fibonacci numbers, or curious mathematical patterns. Don't bother with this book if you are: - Dumb. - A math genius. - A computer whiz but don't enjoy math (despite the "foundation for computer science" line, this is purely a math book). - An engineering student who only cares about the answer, not the process (see the one star guy). - Note: This book doesn't use the lemma - proof - example format you may be used to. You've been warned. This book is extremely well written, and I guarantee that if you're in the "read this book if" list you will find this book impossible to get rid of, it will haunt your bookshelf for life. Also, concerning the title. There seems to be some confusion as to why it is called "Concrete Mathematics" (see one star guy). It isn't called that because it presents, everyday, formula-solution math. The reason it's called "Concrete Mathematics" (and I quote from the preface) is because "It is a blend of CONtinuous and disCRETE mathematics." That's by far the silliest book-title formula I've ever encountered, but to each their own I guess. And finally, I didn't see a table of contents on the order page, so I will summarize the table of contents here, in order the topics are presented: - Recurrence - Sums - Integer Functions (floor, ceiling, modulo) - Number Theory - Binomial Coefficients (n choose k) - Special Numbers (Stirling, Eularian, Bernoulli, Fibonacci, and others) - Generating Functions - Discrete Probability - Asymptotics (O notation) There's just under 500 pages of good stuff before you hit the answer to exercises. Oh yeah, there's also no flimsy "answer to odd number exercises" back page. Each problem is solved ENTIRELY, some solutions take over a page. If that's not the best way to learn, I don't know what is. Enjoy.
Clearly written, and a joy to read.
I find this book to be exceptionally readable, both in terms of clarity of the mathematics concepts, and in the fun added by the authors' well-placed humor. My degree is in computer science, and my formal mathematics training ended with multivariable calculus and linear algebra. Self-study of this book for me is challenging but doable. Further, you need not read the entire book to benefit from it. The earlier sections in each chapter are easier to grasp than the later sections, and reading only a few earlier sections and skipping the later will still provide you with a respectable understanding of the key topics. (You can always come back to skipped topics at another time should the need arise.) This book also contains a much more understandable description of Big-O notation than I have encountered in most algorithm books.
A difficult but worthwhile mathematics text
This book's title can be misleading. I would say it is more of an advanced textbook on the mathematics that is a foundation for computer science than a foundational book on the mathematics of computer science. I think this misreading of the title and thus the book's content is what is behind much of the heartache that readers have when trying to tackle it. This book expands on the "Mathematical Preliminaries" portion of "The Art of Computer Programming" series of books by Knuth, and thus this book has a style much like that series of books. The book is complete and clear, but it is also densely packed with lots of theory and proofs and will require much effort and time to understand well. It is really not meant to be an applied mathematics textbook at all. I show the table of contents next. Note that there are exercises at the conclusion of each chapter with solutions in the back of the book. However, most of the exercises are not so simple that you can just glimpse at the solution and figure out how to get from A to B. I recommend it if you have the time. It can really bring out thoughts and the beauty of mathematics that you may not have considered before. 1. Recurrent Problems. The Tower of Hanoi. Lines in the Plane. The Josephus Problem. Exercises. 2. Sums. Notation. Sums and Recurrences. Manipulation of Sums. Multiple Sums. General Methods. Finite and Infinite Calculus. Infinite Sums. Exercises. 3. Integer Functions. Floors and Ceilings. Floor/Ceiling Applications. Floor/Ceiling Recurrences. 'mod': The Binary Operation. Floor/Ceiling Sums. Exercises. 4. Number Theory. Divisibility. Factorial Factors. Relative Primality. 'mod': The Congruence Relation. Independent Residues. Additional Applications. Phi and Mu. Exercises. 5. Binomial Coefficients. Basic Identities. Basic Practice. Tricks of the Trade. Generating Functions. Hypergeometric Functions. Hypergeometric Transformations. Partial Hypergeometric Sums. Mechanical Summation. Exercises. 6. Special Numbers. Stirling Numbers. Eulerian Numbers. Harmonic Numbers. Harmonic Summation. Bernoulli Numbers. Fibonacci Numbers. Continuants. Exercises. 7. Generating Functions. Domino Theory and Change. Basic Maneuvers. Solving Recurrences. Special Generating Functions. Convolutions. Exponential Generating Functions. Dirichlet Generating Functions. Exercises. 8. Discrete Probability. Definitions. Mean and Variance. Probability Generating Functions. Flipping Coins. Hashing. Exercises. 9. Asymptotics. A Hierarchy. O Notation. O Manipulation. Two Asymptotic Tricks. Euler's Summation Formula. Final Summations. Exercises. A. Answers to Exercises. B. Bibliography.
Please Be Discrete
What is "concrete" math, as opposed to other types of math? The authors explain that the title comes from the blending of CONtinuous and disCRETE math, two branches of math that many seem to like to keep asunder, though each occurs in the foundation of the other. The topics in the book, such as sums, generating functions, and number theory, are actually standard discrete math topics; however, the treatment in this text shows the inherent continuous (read: calculus) undergirding of the topics. Without calculus, generating functions would not have come to mind and their tremendous power could not be put to use in figuring out series. The smart-aleck marginal notes notwithstanding, this is a serious math book for those who are willing to dot every i and cross every t. Unlike most math texts (esp. graduate math texts), nothing is omitted along the way. Notation is explained (=very= important), common pitfalls are pointed out (as opposed to the usual way students come across them -- by getting back bleeding exams), and what is important and what is =not= as important are indicated. Still, I cannot leave the marginal notes unremarked; some are serious warnings to the reader. For example, in the introduction, one note remarks "I would advise the casual student to stay away from this course." Notes that advise one to skim, and there are a few, should be taken seriously. All the marginal notes come from the TAs who had to help with the text, and thus have a more nitty-gritty understanding of the difficulties students are likely to face. Still, there are plenty of puns and bad jokes to amuse the text-reader for hours: "The empty set is pointless," "But not Imbesselian," and "John .316" made me chuckle, but you have to find them for yourself. To someone who has been through the rigors of math grad school, this book is a delight to read; to those who have not, they must keep in mind that this is a serious text and must be prepared to do some real work. Very bright high school students have gotten through this text with little difficulty. I want to note ahead of time - some of the questions in the book are serious research topics. They don't necessarily tell you that when they give you the problem; if you've worked on the problem for a week, you should turn to the answers in the back to check that there really is a solution. That said, I would highly recommend this book to math-lovers who want some rigorous math outside of the usual fare. The formulas in here can actually come in handy "in real life", especially if one has to use math a lot.
Great, great math book ...
How often do you get to have two of the giants of mathematics Graham and Knuth co-author (with Patashnik) a book like this - even suitable for high-school students? Don't let the binding or whatever fools you, this is a serious math book and serious thinking is required. The material is broad and interesting. I think the book can be used as a supplement text to any of the discrete math/algorithm course (or just leisure reading). It will serve you years to come. Extra bonus - the marginal notes. It may be annoying to you or not but I found it funny at times. I echo the same feeling as some of the readers here - keep this one always within reach. This is a future classic!
I wish every book were written like this!
This book is perhaps one of the most beautifully written books I have ever read. All the proofs presented here are elegant. When reading the proofs in this book, you can feel that one sentence logically and smoothly follows from the previous sentence. This is partly because of the elegant and effective notations adopted by the authors. [Note: Donald Knuth, one of the authors, has been one of the biggest proponents of good mathematical notations. See his book titled "Mathematical Writing".] Other reviewers have provided a summary of this book. So, I will only say that every computer scientist and combinatorialist should read at least chapters 1, 2, 5, 7, and 9. Chapter 5 is very highly recommended. Trust me: once you have mastered these chapters, you will be able to do things your colleagues just can't. Even just familiarizing yourself with the notations in this book will help you produce proofs that you probably won't be able to otherwise. [Great ideas are of course always important in every proof - but without good notations, you probably won't be able to come up with the ideas in the first place.] There is pretty much nothing bad about this book that I am aware of. I will just say though that it takes a lot of time and effort to acquire mastery of the material. As for my own story, I started reading chapter 1 and 2 when I just got interested in discrete mathematics. It took me about 1/2 year (part time) to get through this. I came back to this book again when I took a course on "generatingfunctionology". I found that chapter 5 and 7 were indispensable. I was also forced to reread chapter 2 again because the lecturer, as most people do, just waived his hands when it comes to manipulating sums and binomial coefficients. However, all the effort that I put in paid off in the end as I could solve problems in the final exam which all my other friends could not. In summary, I strongly recommend this book to every computer scientist and combinatorialist. I will finally remark that, if you are serious about learning concrete mathematics, you will probably find that generating functions pop up pretty much everywhere. To understand these beasts, I highly recommend Sedgewick and Flajolet's "Introduction to Analysis of Algorithms" and "Analytic Combinatorics" (not yet published, but next-to-final draft is available at Flajolet's web site), and Wilf's "Generatingfunctionology".
Fun to read.
Yet another classic. Concrete Mathematics is the second most accessible book by Knuth as one of the co-authors. Concrete Mathematics is a blending of CONtinuous and disCRETE mathematics. This book focuses on practical skills rather than theory. It contains many examples, tricks of trade, and problems with solutions. This book is also fun to read. After reading this book you will be very comfortable manipulating sums, recurrences, discrete probabilities, and number theory. I've placed this book #15 in my Top 100 Programming, Computer and Science books list: http://www.catonmat.net/blog/top-100-books-part-three/ .
Useful and well-written
This is one of those books you keep forever, purely for its utility: it's packed with formulas, techniques, examples. But more than that, the authors lead you through the techniques and explain the concepts behind them, with the goal of equipping you with the mental tools to attack any mathematical problem you encounter. And to top it off, it's well-written, and the "margin notes" provide some comic relief. The material is very dense, and it's not a book I'd recommend for casual reading: this is stuff you only work through if you're going to need it. But if you *are* going to need it, this book will make it a lot more pleasant.
Fear first, love later
I used this book while studying Combinatorics at the University of Warwick, a leading British institution for mathematicians. At the time, the book was a little bit overwhelming - Knuth doesn't waste any time in getting to the point of solving problems in the book. Thus, if you're the type of person who needs lots of worked examples, I would supplement this with another book, for example, Grimaldi's Discrete and Combinatorial Mathematics. But this book does belong on the bookshelf - it is a great reference, particularly because it prepares one to read The Art of Computer Programming, also by Knuth. TAOCP is the definitive series on computer science, respected by computer scientists everywhere. I guess the best way to describe Concrete Mathematics is that if you are a graduate student in CS, you should own this book. If you are a mathematically-oriented undergraduate, this book will make you really understand anything that your professors will throw at you. But, if you are not a math-lover, you will want a backup and a really nice professor :)
Steep learning curve, the definitive prerequisite for TAOCP.
Why I got this book: It's a great feeling to know how computers work, when I decided that I want to make a career and a life out of computers, as its truly a passion for me, I delved deeper, discovering the true beauty in the Science part of Computer Science, so I decided to get Donald Knuth' "The Art of Computer Programming" - to describe that seminal, huge work, it's like biting more than you can chew while trying to drink from a fire hose, moreover, the technical and mathematical prerequisites for the work are sometimes too demanding, they require a huge amount of experience with discrete mathematics, although I had some lectures and read some books, none came close "Concrete Mathematics", it covers, from ground up (though with a dangerously steep learning curve) a lot of discrete mathematics topics, it is by far the most extensive work I've read about Sums and really teaches the algorithmic problem solving thinking skill the authors preach so much about, with small amusing comments written by actual students of this course, a comfortable format, and very good writing skills, you can feel these guys are great professors who enjoy this material and are passionate about teaching it. Recommended, though some better, less steep, introductionary text books are probably out there. Enjoy.
Actually delivers in a readable way
After having had a bad result from other Ronald L. Graham,
I keep this one always within reach
I found this book very stimulating, and whenever I have a chance I go back to some of the harder problems. This book should please the more mathematically oriented programmers as well as anyone with curiosity regarding numerical mathematics. The scholarship is thorough and I find particularly noteworthy the attempt to ascribe soucres correctly and I appreciated the attention to detail (even the font used).
Excellent book, but lacking in some areas
Overall this is a must-have book for anyone in CS. Besides being a great read, I've found it usefull on several occasions to solve problems and it's very likely that a CS Prof will reference this book in lecture or homework problems. However, the books mathematical notation is sometimes unique and it is not always clear were symbols and their meanings are defined. For example, in the first chapter S_n (that's S sub n) is used in place of summation notation. Then, in the exercise solutions S_n is used again but it is expected that the reader know that this is in reference to the use of S_n in a chapter example. Because S_n is non-standard notation it would have saved me much confusion if the authors had explicitly defined S_n. This seems to happen a lot and I spent a lot of time combing through the books examples looking for definitions of symbols. Yet, despite these problems, this book is a classic.
Concrete Math--neither "abstract" nor "applied"
Lest others find this wonderful book as disappointing as the reviewer from Osan, Korea: note that "concrete" in the title is just meant in contrast to "abstract". But both concrete and abstract are adjectives intended only to describe different apporaches to *theoretical* math, as opposed to *applied* math, which addresses examples directly relevant to the real world (and thus is probably of more interest to engineers and their ilk). This *isn't* an applied math text. The difference between the concrete and abstract styles is that concrete math generally takes a "bottom up" tack, arising from specific given "concrete" entities, such as certain special functions, sums, sequences etc and tends to involve more derivation and calculation. In contrast typical abstract math is more "top down", proceeding, say, from axioms, perhaps even non-constructively, and tends to involve more reasoning and proving. If you dig the theoretical stuff, and like the concrete approach, this book is a treasure trove.
Makes me love discrete math
I was lucky enough to find this book for a dollar. It became very quickly one of my 5 favorite math books (out of 100 or so.) I had no idea what one could do with discrete summation. The chapter on discrete calculus (where "dx" = 1) is currently making me shake my head in admiration. Generating functions are also covered and threaten to dent my cranium. The math is as beautiful as it is powerful. Even the typeset and the notation is unique and impressive. The cover is perfect. That sigma in concrete perfectly symbolizes the material and style within.
Bad fonts
I can't find another book that covers similiar material at this depth. A great book possibly a future classic but unfortunately the font ("Euler" font which was created specifically for this book) is just awful which makes this book far more difficult to physically read than neccesary. Characters just sit like a rock instead of helping the eyes flow from one word to the next. I would give it 5 stars if not for the distracting swiggly font.
For the expert, the eager student, or as a reference
I read this book as my introduction to computer science and discrete mathematics in my re-education as a physicist to a computer scientist. It was invaluable. I wouldn't say a light of heart should adopt this book. It is serious and starts each chapter slowly but rapidly gets into problems in the research domain. I found the topics perfect, and the extensive problems were a fantastic resource. The book easily serves the three roles of the title. The writing is meticulous in both precision and style.
clear and illuminating
I'm currently in a course which covers about half the material in this book. The text the professor selected is a fine work for people who already know the material to skim. In contrast, Concrete Mathematics talks a beginner through the concepts in a without being pedantic.
A great book for all undergraduated math students !!!
In this book Knut explain very clearly various topics on math apllied to computation. In his very humorous style he teaches all the topics with fun. It has many beautiful results on integers, sumation e Fibonnaci numbers. Read it and enjoy it.
great book for developing your math skills
This book isn't about mathematical thinking per se, but it's one of the books I read early on in my studies that really helped me with my mathematical thinking and notation. It's just so dang clear and friendly. I've never really thought discrete math of this sort was important or interesting, but they made the material seem interesting and fun.
GREAT book. Used it for wonderful read & wonderful resource
Wonderful for so many things. The way it tends to Generating funcions, asymptotics, and so on and so on. It's SO good.
Five Stars
Complex Knuth
Best Discrete Mathematics Book
I am reading this book for entertainment. This book is for entertainment. Very good book. Dr. Knuth, please write a book such as "Calculus for computer science".
amazing book, each time you open it you find something new
most interesting book , I liked the part about integer functions & number theory very much. I hope that the part on integer functions will be expanded in future editions..
enjoying the struggle
really good book, some times it's bit hard to comprehend, but I'm enjoying the struggle.
Fragmented writing style of some advanced math topics
This statement from a previous review: "Very bright high school students have gotten through this text with little difficulty" I dare you to present Hypergeometric functions in front of a highschool student... Most graduate students would be challenged with that! This text is neither beautiful or elegant, and the little cutesy notes in the margins are distracting and childish. (they are more memorable than the actual text) Once the simplistic Towers of Hanoi and Josephus problem are presented, the authors totally ignore any problem solving and just blast into pure mathematical manipulations that are uninitiated. Why bother with a trivial example at first, and no examples for the remaining most difficult concepts? Throughout the text are statements like "Some sequences of numbers arise so often that we give them special names" Oh really? Where and why do they occur? What about the sequences that do not occur frequently? The authors see no need to explain this. (Knuth: check out my expensive 3 book series, and dig for a few months) And statements in the middle of chapters like: "We now come to the most important idea in the whole book: generating functions." Oh really? Why are they so important? (this is never explained) If so, why doesn't it have its own chapter, instead of being buried in a chapter on binomial coefficients without a lead-up? Find a closed form for: f[n] = f[n-f[n-1]] + f[n-f[n-2]]; where f[n] = n/2 (You could memorize and learn all the math in this book, and it would never help to solve this. It handily skirts the tough fundamental questions about math.) I've never read a more fragmented presentation than this book, for important concepts. You get the distinct impression of little kids "tee hee, look at the cool manipulations I can do, and you cant...see how smart I am??"....Knuth is laughing all the way to the bank.
A Great book but no easy read.
I'll say now I've yet to read it all - and may never - but it certainly starts in a solid, informative fashion. I bought it as a companion volume to Knuth's The Art of Computer Programming (TAOCP). There's a significant overlap between the two works. My plan is to work through the TAOCP until I find my maths isn't sufficient, then use Concrete Mathematics to fill in any Gaps. But this is a science degree level Mathematics course in a book and a good one.
One of the finest computer science books ever written
It is not an easy read - you have to work through it slowly to get the best from it, but the effort pays off in the long run.
Five Stars
An excellent book.
Fantastic
What a wonderful book. The marginal notes are wonderful.
enjoy maths wonderfully explained
Simply, enjoy maths wonderfully explained. Careful exercises with solutions.
but great reference work
Might not get through all of it, but great reference work. And written with a sense of irreverence!
Very well written, in a friendly style.
I am greatly enjoying working through this book although it is not easy. The last time i studied maths was A Level 6 years ago but it is probably the right level.
Five Stars
it was good value for money.
Ein exzellentes Grundlagen Werk und Genuss.
Der Großmeister der (mathematischen) Computer Wissenschaft Donald E. Knuth, der u.a. für sein Werk „The Art of Computer Programming“, und sein dabei 'nebenbei' entwickeltes Textsatz Programm TeX, bekannt wurde, legt nun – gemeinsam mit seinen beiden Koautoren – mit „Concrete Mathematics“ ein Buch vor, in dem die mathematischen Grundlagen der Computer Wissenschaften systematisch entwickelt werden; Material, das in den Einführungs- Kapiteln der verschieden Bände von ACP in er Regel nur skizziert wurde, und dessen Beweise dabei – in Form von *-Aufgaben – oft dem interessierten Leser überlassen blieben. Das Buch basiert auf einem Kurs, der an der Stanford Universität jährlich seit 1970 gehalten wird; es macht den Leser mit den mathematischen Grundlagen vertraut, die benötigt werden, um Computer Programme und Algorithmen verstehen und zu analysieren zu können. In den ersten Kapiteln werden Grundlagen zu rekursiven Problemen, Summen, Ganzzahligen Funktionen und Kongruenzen gelegt; danach werden Binominal Koeffizienten und spezielle Zahlen, d.h. Stirling, Euler, Harmonische, Bernoulli und Fibonacci Zahlen, behandelt. Es folgt ein Kapitel über Generator Funktionen, einen der wichtigsten 'Werkzeuge' dieses Werkes. Es handelt sich dabei um ein Methode, mittels (formalen) unendlichen Reihen, eine ganze Folge von Koeffizienten zusammen zu fassen, und somit als ein Objekt behandeln zu können. Es lassen damit u.a. Rekursions- Probleme und Eigenschaften von 'speziellen' Zahlen bzw. von Polynom Familien systematisch behandeln. Ergänzt wird das Buch mit Abschnitten über Diskrete Wahrscheinlichkeiten und Asymptotiken. Die Komposition des Werk ist ausgezeichnet gelungen, die Darstellung der einzelnen Themen ist elegant und präzise. Neben der, durch langjährige Erfahrung, motivierte Stoffauswahl, tragen auch die geschickt gewählten Bezeichnung zum Erfolg bei; hier sei besonders die [logical expression] Konstruktion – eine Erweiterung des Kronecker Deltas, erwähnt, damit können u.a. auch komplexe Mehrfach- Summen effizient manipulieren und umgeformt werden. Alles in Allem ist die Lektüre nicht nur interessant, sondern ein regelrechter Genuss. Der Text enthält ca. 500 Übungsaufgaben in sechs Schwierigkeitsgraden (von 'warmup' bis 'research problem') – Antworten zu den Aufgaben sind in einem Anhang zu finden. Eine sehr ausführliche Bibliographie, sowie ein Stichwortverzeichnis runden die exzellente Ausstattung ab.
A book sent from Legends in Computer Science
The definitive book on Computer Science - Wither or not you're seeking a job in industry or pursuing grad studies, this book will prepare you for any of the math thrown at you in full fledged Computer Science program (Summations, Proving Correctness, Asymptotic Running times, Series, etc). The book is not written like your typical academic text book you see these days. It contains full solutions, in plain and concise English, and a lot of humorous footnotes by TA's and Students. If you're a freshman or junior in a Computer Science program and just have done Calculus 1 and Discrete Math, you'll want to work through this if you want to masterfully analysis algorithms later on in your program. Anyways, it's from the Legend himself - Knuth!
eBook = Miese Abschrift
Das vorliegende eBook, in der 2ten Auflage, ist eine sehr schlechte Abschrift des Originals. In vielen Sätzen, finden sich zum Teil schwerwiegende Rechtschreibfehler (rst, ferent, uvm.). Daher kann das eBook nur sehr eingeschränkt im Studium der Informatik eingesetzt werden. Man weiß ja nie wo der nächste entsprechende Fehler versteckt ist, der nicht gleich offensichtlich ist. Die Möglichkeit der Leseprobe habe ich leider vergessen. Allgemein kann man sagen, dass es eine FRECHHEIT ist für so einen Mist auch noch Geld zu verlangen. Dies ist explizit eine Beurteilung für das eBook. Das physische Version ist ausnahmslos empfehlenswert.