» » Concrete Mathematics: A Foundation for Computer Science (2nd Edition)

Download Concrete Mathematics: A Foundation for Computer Science (2nd Edition) epub

by Ronald L. Graham,Oren Patashnik,Donald E. Knuth

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.

Download Concrete Mathematics: A Foundation for Computer Science (2nd Edition) epub
ISBN: 0935718818
ISBN13: 978-0201558029
Category: Technology
Subcategory: Computer Science
Author: Ronald L. Graham,Oren Patashnik,Donald E. Knuth
Language: English
Publisher: Addison-Wesley Professional; 2 edition (March 10, 1994)
Pages: 672 pages
ePUB size: 1310 kb
FB2 size: 1406 kb
Rating: 4.3
Votes: 306
Other Formats: lit mobi lit lrf

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


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.
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".
The Kindle edition is unreadable. Ligatures are missing from the text, turning phrases like "first" into "rst". Mathematical notation is turned into gibberish.
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 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.
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. 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!