Algorithms Books


Books-Under-Review-->Computers-->Algorithms-->27
Related Subjects: Compression Speech Recognition Computational Algebra Pseudorandom Numbers Animated Sorting and Searching Complexity Publications
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250
Algorithms Books sorted by Average customer review: high to low .

Algorithms
Schaum's Outline of Programming with C
Published in Paperback by McGraw-Hill (1996-06-01)
Author: Byron S. Gottfried
List price: $17.95
New price: $7.98
Used price: $2.00

Average review score:

Dated, but still very useful
Helpful Votes: 0 out of 0 total.
Review Date: 2007-11-28
I have been teaching introduction to programming with C for almost two decades and over that time many students have asked me for a source for additional programming problems. My answer has always been the latest edition of Schaum's outline in Programming in C. The problems are sound and challenging and working through the solutions is great practice in the art of paper debugging. While interactive buggers are a godsend, performing critical visual reviews of code is a skill that is still essential for the good programmer.
While this outline is somewhat dated, having been published in 1990, the base language of C is still the same. I still recommend it to students who need more practice in visual debugging skills.

A Teaching Reference, And A Great Book
Helpful Votes: 0 out of 0 total.
Review Date: 2005-10-28
C is not a large language, there's not a lot to remember a far as conditionals, types, etc... but there is much to learn. This book gives only the facts and not dogma or methodologies, and the examples are to the point as they should be. This book really should be hardbound and sitting next to your copy of The C Programming language by DR and BK. This manila tome is truly one of the hidden gems you can get for 15 bucks. Use it until the pages fall apart, by then you will have assimulated it's worthwhile knowledge.

You really have to enjoy this book for it's straightforwardness. If you like the "Dummies" series, this book will progress a bit too fast for you, for it is rather complete in it's description of the language features. But if you read and digest technical matters in one or two (or three) gulps, you'll benefit from this book.

DIAGRAMS OF DR. G. BYRON SAME AS DR. P. SELLAPAN
Helpful Votes: 0 out of 16 total.
Review Date: 2002-10-18
I am a student writing a paper which I plan to hand in, the end of this month i.e. October 2002. I noticed that Dr. P. Sellapan's book, P. Sellapan, 1999, "Object-Oriented Programming Using Visual C++ Through Examples", First Edition, Federal Publications Sdn. Bhd., Selangor, page 6-9 - ISBN 983-58-0451-6 and his other book, P. Sellapan, 2001, "C++ Through Examples Include Object-Oriented Programming", Eight Edition, Federal Publications Sdn. Bhd., Selangor, page 177-178 - ISBN 967-914-746-0 have the same diagrams as Dr. Byron's book entitiled, "Schaum's Outlines - Programming With C", 1996, Second Edition on page 371-372. So can somebody tell me, which of the authors should I reference to? I am a bit confused as to whom I should reference to!

Excellent as a Reference and a Self-study Guide
Helpful Votes: 1 out of 1 total.
Review Date: 2005-02-26
This is one of the excellent books in programming. I have come to master C programming in less than two months by following this book page by page. Chapters are organized in an excellent way that goes systematically with programming skills development. I highly recommend it.

Too good
Helpful Votes: 10 out of 11 total.
Review Date: 2002-09-08
Easy to read, lots of examples, challenging exercise problems and programming assignments - you don't ask for much more. This book can be used as a textbook or as a supplement to another book on the C programming language.

You want C, you got C.

Algorithms
A Wavelet Tour of Signal Processing, Second Edition (Wavelet Analysis & Its Applications)
Published in Hardcover by Academic Press (1999-09-15)
Author: Stéphane Mallat
List price: $89.95
New price: $66.96
Used price: $65.57

Average review score:

Great Book
Helpful Votes: 0 out of 0 total.
Review Date: 2007-03-20
A great tool for Harmonic Analysis. The book is really well written, a most read for any one who is interested in the area of wavelets, S.P. or harmonic analysis.

Algorithms and much more!
Helpful Votes: 11 out of 15 total.
Review Date: 2002-07-10
The subject of wavelets has many facets, --infinite in all directions;-- some of the more exciting sides of the subject
are algorithmic, and the underlying mathematical principles are both simple and powerful. Stephane Mallat's great, and readable, book, in both of its editions, brings
this out wonderfully!

A bold approach to wavelet transforms that simplifies
Helpful Votes: 22 out of 24 total.
Review Date: 2002-04-24
This is an outstanding tour through the field of wavelet decompositions of both continuous and discrete signals. It employs the formalism of Hilbert space, instead of linear algebra. This is important because the power of this formalism yields insights into the subject matter that are practically impossible in linear algebra. The formalized approach allows a wide variety of subjects to be placed on a common basis (no pun intended). For example, the transition of the treatment of the Fourier transform into Hilbert space, brings to bear the powerful guns of that space (such guns as inner product and completeness), and allows for a truly elegant proof of the Parseval and Plancherel formulas.
Parseval's theorem, simply stated, is that the inner products in Hilbert space are conserved by the Fourier transform. How simple. Linear algebra approaches cannot hope to make things this simple.

Proof of the General Sampling Theorem is equally elegant; it is shown that the projection of the function to be decomposed onto a basis function gives the discrete spectral coefficient.

Readers will also enjoy the treatment of windowed Fourier transforms and frames.

I should add a note about the style of the treatise. This treatise is not ordinary. It consistently uses very precise and carefully defined symbology. Contrary to popular belief, this makes the text easier to read, not more difficult. Once the reader understands the symbol set being used (they are all defined in the front of the text), even the proofs are tractable. Yes, I said proofs. That is another aspect of the text. There are proofs embedded in the text, without loss of continuity or clarity. Proofs are necessary to a good understanding of the subject matter. The formalism of theorems, lemmas and propositions makes the conclusions understandable, because the theorems, lemmas and propositions supporting the conclusions are identifiable.

I applaud the author for his approach and recommend that other text book writers use the same approach.

The most universal treatment of the subject
Helpful Votes: 5 out of 5 total.
Review Date: 2005-06-08
I say universal because this book would appeal to engineers, computer scientists, and mathematicians alike. Mallat was particularly successful to present the topic in a sufficiently rigorous way but without losing sight of the practical and more intuitive side. The presentation comprises the mathematical and the signal processing viewpoints simultaneously. The wavelet field is very vast by now with several subfields. In this respect, Mallat made a great selection of topics in this book. There is a chapter on estimation which offers great review material and pretty much the state-of-the art on signal estimation over a wavelet basis. The chapter on approximation is particularly useful for those who are not well versed in approximation theory and thus are unable to understand other treatments. If you're interested in learning wavelet theory to solve practical problems such as image compression, signal estimation, etc, this is the book to have.

The worst textbook I have ever seen
Helpful Votes: 7 out of 11 total.
Review Date: 2004-02-12
I just finished Chapter 3 of this book, but I have had enough of it. Conceptions about Fourier Transform are not clear at all. And the most unbearable thing is that, there are many printing errors which may lead to misunderstanding.

Algorithms
Algorithms
Published in Paperback by McGraw-Hill Science/Engineering/Math (2006-09-13)
Authors: Sanjoy Dasgupta, Christos H. Papadimitriou, and Umesh Vazirani
List price:
New price: $27.24
Used price: $25.00

Average review score:

A Supplemental Text
Helpful Votes: 2 out of 4 total.
Review Date: 2008-06-16
The top choice for an algorithms text is generally considered to be Cormen, et al. However, Cormen is not unassailable, and an author that is able to provide an alternate and useful approach into the subject can find his audience. Skiena's Algorithm Design Manual comes to mind in this regard, and some even consider it superior to Cormen. Dasgupta, Papadimitriou and Vazirani "Algorithms" provide yet a third approach.
While less comprehensive than either Cormen or Skiena, the tone is more conversational and relaxed. At only 320 pages, it cannot be expected to be comprehensive. Certain standard topics are barely covered (such as binary search trees and red black trees) if at all. Because of this, it can only be a used as an introductory text, or maybe used as a supplement to Cormen or Skiena


And now for the bad... "Algorithms" does not have answers to any of the end of chapter problems. There really is no justification for this. Yes Cormen and Skiena also do not provide answers...but as I mentioned earlier, if they want to compete with Cormen and Skiena, they have to provide something new, and giving students the answers to some of the problems would have been the easist way to accomplish this.
The authors exhibit enough inaccuracies when discussing non-computer science topics (ie, linear algebra, cryptography, and quantum mechanics) that at times, you have to wonder about their command of the main topic -- algorithms.

So, consider, for example, when discussing the simplex algorithm on page 213, they incorrectly define what is meant by a hyperplane. The standard definition can be found in Hoffman and Kunze (i.e., in a vector space of dimension n, a subspace of dimension n-1 is a hyperspace or hyperplane). Their definition is simply wrong. Moving on to cryptography, they discuss the one time pad, the AES, and the RSA cryptosystems. They dismiss the one-time pad as a toy scheme, and suggest that at the other end of the spectrum is the AES scheme. The fact is just the opposite -- the one-time pad has been proven to be a completely secure and unbreakable cryptosystem, and the AES has not been proven so. Also, comparing the one time pad to the RSA, one should note the RSAs security relies on the non-proven difficulty of factoring large numbers...and if quantum computers ever became a reality, the fact is the RSA would be broken. The reason the one time pad is not used is not because it is a toy. It is not used because in the one-time pad, the symmetric key can only be used once, and so a new problem -- key distribution -- is introduced, which in fact makes the one time pad impractical for most applications. Moving on to algebra, on pg. 33 we see the statement "The mapping x|-> x^e mod N is a bijection on {0,1,2,...,N-1}". A mathematician would properly state this as onto, not on, {0,1,2,...,N-1}, since the map is a bijection.


Finally, the last chapter is on quantum algorithms (big marks for bravery), which neither Cormen and Skiena do (Skiena has a new edition of his book on the way, so we will have to wait and see if his latest covers it). From a physics point of view, the chapter falls way short. They attempt to introduce qubits by discussing a single electron atom. The problem is they do not seem to realize you cannot use an atom for both a qubits and a classical bits discussion. An atom is 100% quantum mechanical. (By comparison, when Feynman discussed the double slit experiment, he used electrons to illustrate the quantum effects, and bullets for the classical case.) Therefore, the author's statement on page 298 "These are the two possible states of the electron in classical physics" is just nonsense. In classical physics, the electron does not have a first excited state, it has a continuum of possible states -granted, the states are not stable and the electron will promptly spiral into the nucleus, but that is a separate issue. The authors also give a quote by Feynman: "I think I can safely say that no one understands quantum physics". Yes, at the time Feynman said that, that was probably true. But quantum theory has not stood still, and Feynman perhaps did not know the theory of decoherence, or perhaps he considered it speculative. But, as decoherence has now been observed in the laboratory, there is in fact a school of thought, championed by Roland Omnes, which claims that quantum mechanics is now, with the addition of decoherence, finally in some sense understood. ...Also, they introduce a two particle system as a tensor product state. It is true this is the correct description, but it is not correct to do so without any motivation of why (why not a direct sum of vector spaces, for example? Why must it be a tensor product of vector spaces?) and without bothering to give a definition of a tensor product. I encourage the interested reader to consult "Quantum Mechanics - a modern development" by Ballentine and also the outstanding "The Quantum Mechanics Solver" by Basdeveant and Dalibard if they truly wish to understand the modern Quantum Theory topics which the authors have so poorly treated.

Still, despite the above issues, as long as one is using this book as a supplement, and not the main text, I think it can serve as valuable resource for the algorithms student.

Very well written and quite clear
Helpful Votes: 2 out of 4 total.
Review Date: 2007-09-18
I took the class with one of the authors, professor Dasupta. This book explains all the algorithms in a very clear way. Can't go wrong with it!

My first choice as an instructor
Helpful Votes: 3 out of 3 total.
Review Date: 2008-03-04
I occasionally teach algorithms at CU Boulder to our undergraduates. This book accomplishes what it set out to do: provide a comprehensible (but not comprehensive) treatment of a core piece of Computer Science at an affordable cost.

That we get one of the greatest researchers in the area (Papadimitriou) alongside two other distinguished authors is just icing on the cake.

The first printing had numerous errors, though the online version of the book had already corrected many of them. I haven't used the book since then, but will in the Fall, and I'd expect with the vigor already invested by the authors, the book will be in even better shape.

I'm glad they wrote this thing.. it was long overdue.

Author's student: By Far The Best Algorithms Book!
Helpful Votes: 3 out of 3 total.
Review Date: 2008-02-06
As a CS undergrad at UC San Diego, the author used rough drafts of this book to teach the algorithms course I took as a student. Although we also used the Cormen("The Bible") Algorithms book for casual reference, this text is by far better to explain the concepts behind the algorithms. I must say that the author presents the course with this text far clearer and superior than the usual dry mathematicians and the contents of the material reflects his expertise in lecturing and writing. The lucid writing makes it a joy to actually read an algorithms book, and the exercises are definitely worth investigating. This book simply makes algorithms fun!

Complex Computing Algorithms just made story-like
Helpful Votes: 3 out of 3 total.
Review Date: 2007-12-31
Algorithms is a complex topic in computing that needs tentative learning. The authors of this book really succeeded in making learning algorithms more enjoying, interesting, and easy yet comprehensive and advanced. This is a difficult equation, but this book really achieves it. It takes you from the early foundation with the Fibonacci algorithm till the complex graph algorithms while explaining each milestone all over the way. The was they present this subject is in a story manner or a casual discussion between two computing professionals which makes the book interactive, easy to access, and comprehensive. I recommend this book for both beginner and advanced readers in the field of computing.

Algorithms
Calendrical Calculations
Published in Hardcover by Cambridge University Press (1997-07-28)
Authors: Nachum Dershowitz and Edward M. Reingold
List price: $74.95
Used price: $25.10

Average review score:

A lot of what you need to understand calendars
Helpful Votes: 0 out of 0 total.
Review Date: 2008-03-12
I am amazed by the clarity and "simplicity" of the text in the book.
Calendars are not simple at all, but the approach taken by the authors makes the algorithms involved very accessible. I also appreciated the decision to focus on clarity rather then performance.

Excellent 3rd edition has algorithms that are hard to find
Helpful Votes: 0 out of 0 total.
Review Date: 2008-02-20
This is an interesting little book that provides a unified algorithmic presentation for more than two dozen calendars of current and historical interest. The book gives precise descriptions of each calendar and makes accurate calendar algorithms available for computer programmers. The complete workings of each calendar are described in verbage and then mathematically. Working computer programs are included in an appendix and on the accompanying CD.

The one thing I didn't care for was the choice of Lisp as the implementation language in appendix B. However, this isn't too big of a problem since equivalent Java programs are on the book's website along with the Lisp implementations. Also, since the mathematical equations of conversion are clearly given, you can choose your own implementation language with few problems. The following is the table of contents:

1. Introduction

Part I. Arithmetical Calendars:
2. The Gregorian calendar
3. The Julian calendar
4. The Coptic and Ethiopic calendars
5. The ISO calendar
6. The Islamic calendar
7. The Hebrew calendar
8. The Ecclesiastical calendars
9. The Old Hindu calendars
10. The Mayan calendar
11. The Balinese Pawukon calendar
12. Generic cyclical calendars

Part II. Astronomical Calendars:
13. Time and astronomy
14. The Persian calendar
15. The Baha'i calendar
16. The French Revolutionary calendar
17. The Chinese calendar
18. The modern Hindu calendars
19. The Tibetan calendar
20. Astronomical lunar calendars coda

Part III. Appendices:
A. Function, parameter, and constant types
B. Lisp implementation
C. Sample data.

Ignore the reviewers virtualtraveler and "A reader"
Helpful Votes: 0 out of 1 total.
Review Date: 2005-02-19
The reason why these people use the code in Emacs is that they wrote it. The authors virtually created the field of computerised calendaring, and then published the algorithms in two landmark papers in SPE in 1990 and 1993.

highly readable and reliable description of many calendars
Helpful Votes: 10 out of 10 total.
Review Date: 1999-04-29
The book explains the structure of 14 calendars, and gives easily comprehensible formulae for the conversion of a date in any of these calendars into a day count, and back to the calendar date. It also includes many holidays for these calendars.

Rather than on the history of calendars or their cultural background, the focus is on a lucid, correct, and complete exposition of their functional principles. Extensive bibliographic references are given to the primary sources for each calendar.

A highlight is the complete specification of several calendars depending on fairly precise timings of astronomical phenomena (Chinese calendar and some Hindu religious calendars).

To make it self-contained, the book explains the necessary mathematical and astronomical background. The astronomical models are taken from the classic 1991 book "Astronomical Algorithms" by Jean Meeus.

I especially like the presentation of the calendrical formulae in an essentially non-algorithmic manner, using normal mathematical notation. This makes it easy to further analyze these formulae.

For instance, if one wants to know how good an approximation to the spring equinox is March 21 in the Gregorian calendar, one finds from the formula on page 36 in the book that midnight of March 21 in Gregorian year Y is exactly

Y·365.2425 - (Y mod 4)·97/400 + (floor(Y/4) mod 25)·3/100 - (floor(Y/100) mod 4)/4

days after midnight of March 21 in Gregorian year 0, which ranges from Y·365.2425 - 1.4775 up to Y·365.2425 + 0.72. Thus, even assuming the Gregorian approximation of 365.2425 days to the tropical year, spring equinoxes are distributed over at least three dates in March in the Gregorian calendar.

Such reasonings would be very difficult if the book specified the calendars only in terms of programming language code.

The formulae are designed so that it is easy to incorporate them into code written in the programming language of your choice. This use is further supported by a set of test dates in an appendix. Another appendix lists an example implementation of all the formulae, in the programming language Common Lisp. This code (intended for personal use) can also be downloaded from the internet.

But this book is much more than a collection of programming recipes for many calendars -- it makes you understand the structure of those calendars. Ambitious readers can even find the data and the methods to construct their own calendrical formulae.

What would I like to be changed in the book? Not much. Some of the calendrical formulae could be further simplified, the astronomical terminology could be modernized in places, and perhaps some additional historical information could be added. And, of course, even more calendars! For instance, some of the proposed reformed calendars, a more widespread version of the Persian calendar, or an historic Japanese calendar.

This book is a must for everybody wanting reliable and highly readable information on the functional principles of the world's calendars.

Michael Deckers

An excellent book with a mean spirited license
Helpful Votes: 15 out of 16 total.
Review Date: 2000-01-04
An excellent book on the history and workings of various calendars. But dont use the source code! The licensing agreement is a trap. Use the code in GNU Emacs from the Free Software Foundation distributed under the General Public License. It does everything the authors code does (except for two obscure calendars) and it's free and always will be.

Algorithms
Introduction to Computing and Algorithms
Published in Paperback by Addison Wesley (1997-10-26)
Author: Russel L Shackelford
List price: $108.00
New price: $12.75
Used price: $3.67

Average review score:

Perfect for my class!
Helpful Votes: 0 out of 1 total.
Review Date: 2005-09-10
The product was exactly what I needed for my class and at a cheaper price. Not much more could have been better.

Former Student Speaks
Helpful Votes: 0 out of 1 total.
Review Date: 2004-10-03
As a former student of Dr. Shackelford when I was an undergrad at Tech, I have first hand knowledge of trying to learn programming with psudeo code as my basis. While proponents of psuedo code claim that it allows learning the basics without getting bogged down in the mechanics of programming, there isn't a whole lot you can actually do with the knowledge gained from this book. You may understand programming better after learning this material, however you will never be able to program an actual computer to do anything. As an engineer who leans towards the hardware side but would like to have more practical programming skills, I would have appreciated learning more of the practical implementation with the material in this book. Personally the formula that has worked for me is to learn the theory, then implement that knowledge by creating something in the real world with real tools. While this book may help you with the theory, the practical implementation side must be found elsewhere. Hence two stars; this book is half the story.

If you are looking for a book that goes over the basics of programming and you don't care about any practical applications, this is the book for you. If you are looking for real world programming skills, look elsewhere. This book will not teach you how to program with real world tools.

A dangerous book with good intentions
Helpful Votes: 10 out of 25 total.
Review Date: 1999-06-18
With "Introduction to Computing and Algorithms", thousands of students have, at Georgia Tech and elsewhere, been tricked into believing that they can program. The ability to think algorithmically, Dr. Shackleford would have one believe, is an adequate programming foundation. Theoretically, perhaps. In truth, however, the book's clear disregard for efficiency, as well as a refusal to get into the "nuts and bolts" of programming, leaves one feeling like a confident programmer -- but it is a feeling which is all-too-often deceitful.

As an upper-level teaching assistant at Georgia Tech, where the book is used for the Introduction to Computing class, I have seen many students learn from the book, only to see their "skills" fail to pass on to real languages. Programming can only be learned via experience, and Dr. Shackleford's use of an uncompilable psuedocode is perhaps the most damning aspect of the book. I give it an additional star due to its possible use in a classroom setting *with* experienced teachers, but it is by no means a practical guide for anyone interested in being introduced to, for the first time, computer science.

Not a teacher, or even a college student
Helpful Votes: 6 out of 6 total.
Review Date: 2001-12-13
I've been a professional computer programmer for the last seven years, with no formal training. I bought this book to begin improving my grasp of computer theory as well as practice. I've found this book to be eminantly readable, an actual page turner. Parts of it are quite elementary, but it's very good at explaining "why" as well as "what".

I consider the pseudo-code an advantage, since it forces me to look at unfamiliar terms and structures and equate them with the equivalent items in my "real" language. It teaches *theory*, which I can apply to any language, not implementation in a single language that will be obsolete in a year or two.

Mr. Black is misdirected on the point of the book
Helpful Votes: 8 out of 9 total.
Review Date: 2000-12-19
If the title of this book was "Introduction to Programming", then I would wholeheartedly agree with Mr. Black below. Indeed, Dr. Shackelford does not teach programming in his book. Rather, he presents algorithms in a general sense, and algorithmic thought over programming practice is presented to the novice.

An adequate programming foundation begins with the trials and errors of learning one's first programming knowledge. Dr. Shackelford's book better preparesone for their first programming language experience, but is by no means a substitute for a programming language course if one's goal is to learn to program.

There are many that wish to gain a better knowledge of computing from a higher-level, theoretical standpoint. Also as an upper-level computer science theory TA at Georgia Tech, I realize the importance of being introduced to a concept in its high-level foundations, rather than in its gory details.

The CS curriculum at Tech is moving to Scheme as an introduction to computing and computer science. While I adamantly feel this is an excellent move on the part of the College of Computing, given their goal to output programmers from the school, I also feel some generalized theoretical foundations are lacking from the course that were present when it was taught with Dr. Shackelford's book.

Overall, if one is interested in grasping high-level algorithms and receiving a basic understanding of how computers process data and execute programs, then this book is wonderful. If, however, one is interested in coding VB applications in a couple of weeks, this book is not appropriate.

Algorithms
Algorithms + Data Structures = Programs (Prentice-Hall Series in Automatic Computation)
Published in Hardcover by Prentice Hall (1976-02)
Author: Niklaus Wirth
List price: $72.00
Used price: $4.10
Collectible price: $80.00

Average review score:

Not worth your time if you are a younger programmer
Helpful Votes: 2 out of 20 total.
Review Date: 2005-04-14
This book was recommended to improve my algorithm skills. However, any younger person (< 30) should not buy this book. It is not an easy read. Might be because it was written in the 70's, but the author constanly uses large and complitcated words for no reason. Also, anyone who's code base is C/C++ will find it hard and annoying to read the books ancient language. I found myself reading each sentense 2 or 3 times just to understand the point. This book might only be $5, but its not worth the savings. Get a book that was printed in the same decade.

A real gem...
Helpful Votes: 6 out of 6 total.
Review Date: 2006-03-17
It might seem completely dated with all its examples written in the now outmoded Pascal programming language (well, unless you are one of those Delphi zealot trying to resist to the Java/.NET dominance), but it is still highly recommended.

It is the single book I learnt most from when I was a freshman studying Computer Science at my local University (when Pascal was already declining, I'm not so old ;-). I wish more recent books were as good as this one, but I have not found a single book so focused and, at the same time, so broad in scope as this one.

Wirth covers programming fundamentals (including recursion), many sorting algorithms, data structures (from simple data collections to B-trees and hashing), and basic compiler technology. That is, four books into one (and, surprisingly, this is not a hefty tome.)

A must have book
Helpful Votes: 6 out of 7 total.
Review Date: 2004-07-08
This book should be on the shelves of every computer science enthusiast and it does not hurt to read it once in a while to reestablish the foundations.

Cornerstone of programming knowledge
Helpful Votes: 6 out of 7 total.
Review Date: 2003-09-22
I used this book back in university and still apply its techniques today. Unfortunately, someone *borrowed* my copy and I can't get hold of a new one, so: !!!Please reprint!!!!

A Necessary Block of a Programmer's Foundation
Helpful Votes: 8 out of 8 total.
Review Date: 2000-08-18
With only five chapters and 365 pp, this text presents fundamental data structures, sorting, the best treatise I've found on recursion, dynamic information structures, and language structures & compilers. The date of the text precludes object-oriented programming, yet the tools presented here are welcome adjuncts for Delphi developers.

Algorithms
Understanding Molecular Simulation: From Algorithms to Applications
Published in Hardcover by Academic Press (1996-08)
Authors: Daan Frenkel and Berend Smit
List price: $93.95
New price: $125.88
Used price: $125.88

Average review score:

Understanding molecular simulation
Helpful Votes: 0 out of 1 total.
Review Date: 2008-02-08
This book is goof for studying molecular. For beginner, this book is easy to understand how to do.

great book for MD basics
Helpful Votes: 0 out of 1 total.
Review Date: 2007-05-06
I was especially delighted about the Monte Carlo methods and the free energy calculation techniques.

Perfect for New Grad Students
Helpful Votes: 14 out of 15 total.
Review Date: 2002-11-24
This book is how I bootstrapped my way into being a molecular simulationist. Anyone who can program in some language can get started writing simple routines for the basic MD and MC simulations.

I do Monte Carlo simulations at Princeton, and found this book to be the most helpful available for getting my research started. It is my most common reference, and is used extensively in writing background information for various research documents.

However, after you have written your first few codes, you will pass the level of this book and need to move on. I use it less now than I did my first year.

Every student in my group (Panagiotopoulos) has this book I think. And like me, they started with it, but moved on.

Old fashioned fortran, strong bias on Monte Carlo
Helpful Votes: 7 out of 9 total.
Review Date: 2006-06-18
There is a very strong bias to MC methods in the book. What they have to say about Molecular Dynamics methods is not really new, most of it is virtually copied from the classic by Allan/Tildesley, and many MD techniques which they consider "advanced" (such as cell list methods, verlet tables, etc.) are shifted to one of the many appendices. They do not talk about ghostparticles for instance or give a detailed account of parallelized algorithms which is really state-of-the art today.
The code examples for download for the exercises, contain subtle errors, are not optimized for performance (which is THE most important thing in simulation business) and worst of all, are written in Fortran. The fact that they publish Fortran code must reflect the fact that at the time they learned how to program a computer there was no C, C++, JAVA, etc. and no object orientation in sight. Nowadays, probably no expert in programming would start a scientific and readable code in fortran. Also their definition of an algorithm is simply technically wrong. The authors are very sloppy here, have obviously no training in theoretical computer science and are obviously no experts for writing optimal code.
Scientifically, as far as physics is concerned, the book is sound, they give good arguments pro and against certain methods, but when you have already worked with Allan/Tildesley or Rappaport for many years you have the eery impression that they simply repeat many arguments from these books or from other research articles (They keep citing Allan/Tildesley a lot) Those things that are not more or less copied from other sources seems to reflect their own experience in this field which seems to be strongly limited to MC methods.
Although this book is sometimes praised I cannot really recommend it. Allan/Tildesley, and in particular the book by Rappaport are superior in stlye and in particluar as code examples are concerned. With Rappaport you get working code right away in proper C (albeit in Fortran-Style C -- again, the reason for this being the fact, that all these authors of Simulation books learned programming probably in the late 70's when Fortran was state-of-the-art). I nevertheless would recommend Rappaports book instead. The authors even offer scientific workshops based on their book (and probably make a lot of money with that). One can only hope that those are better than the coding examples of the exercises. Therefore only 2 stars.

Excellent text for beginners in simulation
Helpful Votes: 8 out of 9 total.
Review Date: 2004-11-19
Its an excellent book for those who are just beginners in MC & MD simulations. everything is very clearly explained with lot of examples and some related unsolved problems. the text explores this topic indetails with advanced chapters in later sections. Good for anybody int hsi field be it in materials science, physics or related fields.

Algorithms
Advanced Global Illumination
Published in Hardcover by AK Peters, Ltd. (2003-07)
Authors: Philip Dutre, Philippe Bekaert, and Kavita Bala
List price: $48.00
New price: $66.86
Used price: $29.50

Average review score:

Excellent
Helpful Votes: 0 out of 0 total.
Review Date: 2007-08-12
This book thoroughly covers the macroscopic physics of light transport, hemispherical coordinates, and statistics, not to mention several global illumination algorithms in depth. Although it might not be a perfect introduction to the basics of ray tracing, stochastic ray tracing is covered as well. This book is probably best targeted to those interested in extending their ray tracers to include global illumination or those looking to understand the radiosity algorithm.

advanced methods
Helpful Votes: 0 out of 3 total.
Review Date: 2007-03-30
The depth of treatment in this book is more sophisticated than many graphics texts. You should already have a good exposure to computer graphics, at a level of at least the Foley and van Dam text.

The authors describe advanced ideas like using Monte Carlo simulations to reduce variances in clumping due to randomness. Along with several methods for finding light transport. This can involve an excursion into the theory of adjoint operators. Another idea given is to model light transport as a diffusion process of the radiant energy.

All of this so that the images can be considered as derived from the laws of physics, applied to ray tracing.

Good book for global illumination
Helpful Votes: 0 out of 3 total.
Review Date: 2007-03-09
I think this one is the good, formal and systemic book for this area.

A valuable book for a computer graphics PhD student or researcher
Helpful Votes: 2 out of 2 total.
Review Date: 2006-11-02
With this book you are not going to learn how to write a ray tracer. In general the book does not explain how to program things, it explains the theory behind different rendering techniques. The book puts together many things that have previously been published only in research publications. For a PhD student or researcher this kind of a book is really a relief as it makes it easier to gain overall knowledge of the science of global illumination.

Huge Dissapointment
Helpful Votes: 5 out of 11 total.
Review Date: 2006-10-02
This review is for the second edition text, but I am putting it here since the page for that book does not yet yet have a place for customer reviews.

First off, the two prior reviews for this text are highly suspect. The text is basically a collection of highly complex mathematical formulas with little explanation. The physics, statistics, and calculus courses I took for my computer science degree were not nearly adequate preparation for this book. Even after dusting off my old math books and trying to refamiliarize myself with the content, the first few chapters were nearly impossible to trudge through. Perhaps this text could serve as a reference if you were already a professional in the field, but as any sort of learning aid, it is completely useless.

Algorithms
Combinatorics: Topics, Techniques, Algorithms
Published in Hardcover by Cambridge University Press (1995-01-27)
Author: Peter J. Cameron
List price: $69.95
Used price: $199.95

Average review score:

Excellent textbook for researchers
Helpful Votes: 0 out of 0 total.
Review Date: 2007-10-02
The book is an excellent source of combinatorial insights and techniques for researchers, especially those who are not mathematicians. The book is comprehensive but not too dense. Puritans would complain that it skips details, but details can always be found by referring the bibliography. An excellent source of problems, with solutions for earlier versions provided by the author on his web-page. Should turn out to be a classic if not already one.

Great book for Computer Scientist
Helpful Votes: 1 out of 10 total.
Review Date: 2005-08-06
I am M.Sc.Computer Science student and work for software company. I needed a book covering aspects in Combinatorics and this is the book.

Excellent book...very clear, well-organized
Helpful Votes: 2 out of 2 total.
Review Date: 2006-06-11
This is a graduate level text that presents advanced material and yet is easier to understand than most high school texts and could probably be used without trouble at the undergraduate level. The writing is vibrant and lucid; it is a pleasure to read. I could come up with a few minor complaints about the presentation of this or that but these comments would be silly and not very relevant.

The book contains an absolute wealth of topics. There is an interesting combinatorial approach to groups, and the book's presentation of certain topics, such as matroids and quasigroups, is among the best I have found; many books make these structures appear painfully abstract and difficult to grasp. The book is organized so that it's fairly easy to skip around, but I actually like the order in which the topics are presented.

This text makes an excellent addition to the collection of anyone interested in combinatorics, and if someone were to buy only one book on the subject, I would recommend this book. I think this would make an excellent textbook--it was used as such in one of my graduate courses, and would probably be suitable for an undergraduate course as well.

Sigmas all over the place
Helpful Votes: 3 out of 3 total.
Review Date: 2007-03-31
This isn't your usual "urn-has-3-red-balls-and-5-white-balls" sort of combinatorics book. It's sigma notation all over the place, if you know what I mean.
The first part can be used for undergraduates and the second part is more advanced. The book is broad in scope because, as the author explains, so is the subject matter.
The chapters have "techniques" and "algorithms." It's not a book that has a slew of examples of combinatorial problems (like so many), but leans toward mathematical sophistication in formalizing the techniques. This is either a feature or a bug, depending on what you needs are. For instance, it's not very often that introductory books present derrangements next to Fibonacci numbers. Or explain how calculate the average number of comparisons that Hoare's Quicksort does with a differential equation for the recurrence relation in the context of finite fields. It sounds scary, I know, but if you look at the explanation, you'll see you should have been born a nephew to this author.
In case you like Knuth's Concrete Mathematics you will like this book too (there's some overlap, because both are concerned with the analysis of algorithms). Knuth's book works more on skill-building, and I think Cameron's book is better for theoretical explanation.
Disclaimer: I haven't worked with the whole book (because of a lack of time - "Ars long, vita brevis", as they say).

Very helpful
Helpful Votes: 9 out of 10 total.
Review Date: 2004-01-09
Combinatorics is a bit of an oddity. Although a few principles (like pigeonholing) apply in many cases, every combinatorial problem has unique features. Attacking a new situation is almost like starting all over again, unless you can recognize an old problem in your new one.

This book gives a number brief case studies. Its 18 chapters (not counting intro and closing) span a variety of interesting topics. Cameron doesn't write down to the reader - it takes serious thought and some mathematical background to get full value from the reading. The examples are nowhere near as concrete as you'd expect in a popularized version. Still, the author avoids opaque references to specialist terms, and keeps the text approachable.

I have personal reason to like this book more than it's high quality warrants. I was thumbing through it in a store, and skimmed a page that described Kirkman's schoolgirls (a two-level problem in selecting subsets). Quite abruptly, I realized that those charming young ladies exactly represented a problem I had in connecting the parts of a multiprocessor. One or two references later, I had a practical way out of a potentially ugly quandry. This material is not just fun for its own intellectual challenge, it has application to real engineering, too.

Algorithms
Information Theory, Inference & Learning Algorithms
Published in Hardcover by Cambridge University Press (2002-06-15)
Author: David J. C. MacKay
List price: $62.00
New price: $51.99
Used price: $52.42

Average review score:

A must have...
Helpful Votes: 14 out of 15 total.
Review Date: 2005-03-01
Uniting information theory and inference in an interactive and entertaining way, this book has been a constant source of inspiration, intuition and insight for me. It is packed full of stuff - its contents appear to grow the more I look - but the layering of the material means the abundance of topics does not confuse.

This is _not_ just a book for the experts. However, you will need to think and interact when reading it. That is, after all, how you learn, and the book helps and guides you in this with many puzzles and problems.

Good value text on a spread of interesting and useful topics
Helpful Votes: 19 out of 21 total.
Review Date: 2005-02-20
I am a PhD student in computer science. Over the last year and a half this book has been invaluable (and parts of it a fun diversion).

For a course I help teach, the intoductions to probability theory and information theory save a lot of work. They are accessible to students with a variety of backgrounds (they understand them and can read them online). They also lead directly into interesting problems.

While I am not directly studying data compression or error correcting codes, I found these sections compelling. Incredibly clear exposition; exciting challenges. How can we ever be certain of our data after bouncing it across the world and storing it on error-prone media (things I do every day)? How can we do it without >60 hard-disks sitting in our computer? The mathematics uses very clear notation --- functions are sketched when introduced, theorems are presented alongside pictures and explanations of what's really going on.

I should note that a small number (roughly 4 or 5 out of 50) of the chapters on advanced topics are much more terse than the majority of the book. They might not be of interest to all readers, but if they are, they are probably more friendly than finding a journal paper on the same topic.

Most importantly for me, the book is a valuable reference for Bayesian methods, on which MacKay is an authority. Sections IV and V brought me up to speed with several advanced topics I need for my research.

Great wish it had more n option inverse problems
Helpful Votes: 3 out of 4 total.
Review Date: 2007-07-16
This is fantastic book. Really takes an intuitive approach to the material. The explanation of occam's razor is worth the price of the whole book. Highly recommended.

Outstanding book, especially for statisticians
Helpful Votes: 6 out of 6 total.
Review Date: 2007-10-02
I find it interesting that most of the people reviewing this book seem to be reviewing it as they would any other information theory textbook. Such a review, whether positive or critical, could not hope to give a complete picture of what this text actually is. There are many books on information theory, but what makes this book unique (and in my opinion what makes it so outstanding) is the way it integrates information theory with statistical inference. The book covers topics including coding theory, Bayesian inference, and neural networks, but it treats them all as different pieces of a unified puzzle, focusing more on the connections between these areas, and the philosophical implications of these connections, and less on delving into depth in one area or another.

This is a learning text, clearly meant to be read and understood. The presentation of topics is greatly expanded and includes much discussion, and although the book is dense, it is rarely concise. The exercises are absolutely essential to understanding the text. Although the author has made some effort to make certain chapters or topics independent, I think that this is one book for which it is best to more or less work straight through. For this reason and others, this book does not make a very good reference: occasionally nonstandard notation or terminology is used.

The biggest strength of this text, in my opinion, is on a philosophical level. It is my opinion, and in my opinion it is a great shame, that the vast majority of statistical theory and practice is highly arbitrary. This book will provide some tools to (at least in some cases) anchor your thinking to something less arbitrary. It's ironic that much of this is done within the Bayesian paradigm, something often viewed (and criticized) as being more arbitrary, not less so. But MacKay's way of thinking is highly compelling. This is a book that will not just teach you subjects and techniques, but will shape the way you think. It is one of the rare books that is able to teach how, why, and when certain techniques are applicable. It prepares one to "think outside the box".

I would recommend this book to anyone studying any of the topics covered by this book, including information theory, coding theory, statistical inference, or neural networks. This book is especially indispensable to a statistician, as there is no other book that I have found that covers information theory with an eye towards its application in statistical inference so well. This book is outstanding for self-study; it would also make a good textbook for a course, provided the course followed the development of the textbook very closely.

Great Book As Far As It Goes
Helpful Votes: 6 out of 19 total.
Review Date: 2006-03-27
I have used this to get a good background in the topics covered, especially inference theory, and in general I found it to be great book which fills a market gap. The only sins I see are sins of omission. I personally would have enjoyed seeing a more task driven organization. I seem to need these methods periodically but I never seem to need the same method twice. Also, many of the techniques are heavily iterative, i.e., monte carlo, neural networks, etc. This is fine but much of what I do is in the context of simulations where 100,000 step iterative methods don't work so well because of resource constraints. Historically, that has been the problem with many of these methods. They are useful for relatively small domains but don't necessarily work that well for "real" problems. That is probably why more task oriented books are not available. Of course the author is following the outline of the current research into the subject manner which in turn is largely determined by "interesting" and "doable" problems. The real progess in this field will come when the problems are formulated more by what is needed in the nontraditional domains of application. A good example of a useful compression (and identification in some cases) technique that is not covered is Principal Component Analysis. Technically, it is in none of the technique domains covered in this book, but it would have been nice to see some of the methods in the book compared with PCA. The author does make the statement at one point that image recognition is an interesting problem for which the method being discussed at the time is used. Nevertheless, this is a great overview of the subject manner and is very entertaining. That in the long run probably explains the problem: it is a textbook.


Books-Under-Review-->Computers-->Algorithms-->27
Related Subjects: Compression Speech Recognition Computational Algebra Pseudorandom Numbers Animated Sorting and Searching Complexity Publications
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250