Algorithms Books
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

Used price: $19.50

WowReview Date: 2008-07-21
Great, simple presentation of some powerful techniquesReview Date: 2008-06-10
Each chapter explains and explores a different data mining algorithm, and builds up a working example in Python, while presenting different methods and parameters of the implementation. I hadn't really worked with Python before, but found the code easy to follow, and picked up some interesting Python idioms that I haven't seen in other languages before. Chapters end with a set of exercises to follow that build your understanding.
As you follow the examples you build up a reasonably generic code base that allows you to swap in and out different implementations, and reuse previous code to add to new applications.
The examples use live examples from the web: sites like Ebay, Facebook, and Yahoo Finance, and this makes the book more interesting and the results more visceral than some other books on the subject which use more contrived or obscure examples. Even though there is a strong web (or web 2.0) focus on the examples, the methods and the understanding is useful for a whole range of applications.
Some of the topics covered:
* Bayesian classifiers to detect spam, or to file news articles into site sections
* Hierarchical and k-means clustering to discover groups of similar items in massive sets
* Euclidiean distance, Pearson Correlation Coefficient, Tanimoto Coefficient: ways to measure the distance (or difference) between items
* Neural networks to predict user behaviour and improve search result ordering
* Optimisation methods like hill climbing, simulated annealing, and genetic algorithms
* Non-negative matrix factorization
* Support vector machines and kernel methods to go where linear regression can't
I found it exciting to read -- it's one of those books that give you a whole bunch of new ideas for things to build as you read it. The presentation is very good: no background is assumed, and it doesn't talk down to those more experienced.
Recommended.
Great Book with Great ExamplesReview Date: 2008-05-25
good but no greatReview Date: 2008-06-12
- first, too many typos - both the author and oreilly should do a better job on proof read the materials. the typos are so much that it can easily wreck otherwise good materials.
- second, arcane solution and coding style. Many first step to the solution of machine learning is to represent the problem at hand well. The author's brain apparently wired different from mine so the opinion is personal. For example: chapter 5 on "optimization for preference", he chose to represent a solution as vector form like [0,0,0,0,0,0,0,0,0,0], there is no way I can relate this solution to the real meaning (you want to allocate 10 students into 5 rooms each with two slots) - if there is an easy explanation, the book didn't say so.
thus the 3 star. I believe a second edition is warranted and should be much better.
just my 2c.
Good intro to machine learningReview Date: 2008-06-04
The author gives a good overview the many different approaches to machine language (with great examples in Python). However, it's just that - an overview. While the explanations are very clear and the concepts are presented in a very accessible manner, I found myself having to look elsewhere for more detail on the various algorithms. Yes, with the level of understanding presented in this book you should be able to create functional code for your particular data set. However, I felt that to really get the best results from the algorithms I needed to study them a bit further in order to best apply them to my data.
As a recent CS graduate, I would certainly recommend this book to anyone looking for a basic understanding of machine learning and data mining techniques.

Used price: $2.00
Collectible price: $50.00

Excellent IntroductionReview Date: 2002-05-15
Buy IT!Review Date: 2002-06-16
Data Structures & Algorithms in JAVAReview Date: 2002-02-26
Extremely helpful in illustrating how data structures work.Review Date: 2001-12-13
Lafore's illustration of data structures is concise and easy to follow. In each section the data structure is discussed in general and then further dissected into easily understandable subsections. An added benefit is that each chapter has Java code that illustrates the main functions of each data structure discussed. The code is included on a CD that also contains interactive Java Applets. I found that the applets really helped illustrate how some of the more complex structures work.
There is no code in the chapter on Red-Black trees or in the chapter on 2-3-4 Trees and external storage. This is okay however, since presentation of the code might have consumed too much space and have been difficult to follow (Fortunately, There are insightful applets for these topics). My only regret is that the book doesn't give as much in-depth information on certain functions of B-trees and B+ Trees as it does on the other topics. More than less likely this is a little (too?) picky on my part.
Overall a great book to get if you are interested in learning essential Data Structures.
excellent supplement to your main text or class notesReview Date: 2002-05-22
Complaints: This book gives very short shrift to big O notation IMO. And Lafore really takes the easy way out with heaps - he uses an array (Ugh!). Come on, Lafore, you should have used a tree for this ! He doesn't cover AVL trees at all so you'll have to look elsewhere for that. Also, ... the source code isn't 'generic' enough - he implements many data structures to hold a specific type instead of allowing them to hold generic Objects. There are no end of chapter exercises so I don't know if it could be used as a regular class text. The applets on the disc are instructive, though.
If you could combine the topic coverage of T&G (along with just a bit of their formalism) and Lafore's readablity you'd have the perfect teaching book on data structures using Java.

Used price: $38.00

Long Live Concrete Mathematics!Review Date: 2008-07-21
A difficult but worthwhile mathematics textReview Date: 2007-06-25
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.
smug math bookReview Date: 2007-03-20
Concrete Math is funReview Date: 2006-02-21
Great book... some reviewers simply don't get it.Review Date: 2007-06-20
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.

Used price: $29.97

pearls of wisdomReview Date: 2008-06-16
For Absolute Beginner ProgrammersReview Date: 2008-02-08
If you have any experience, the examples are all very mundane. (E.g. "this is what a minheap is"). If you have just finished reading a "Learn [Language] in 24 hours!" type book, I guess this wouldn't be a bad follow up. Otherwise, steer clear.
A must for everyone serious about software engineeringReview Date: 2006-11-04
a mustReview Date: 2006-09-09
Programming insightReview Date: 2006-03-17
Each chapter walks through the internal process a programmer follows to solve particular problems (and teaches newcomers how some techniques should be used in practice).
If you read only one book on computer programming apart from your language handbook (something I would never recommend), this should be the one.
PS: Plauger's "Programming on Purpose: Essays on Software Design" would probably be my second choice.


Great bookReview Date: 2008-04-14
The first part mostly contains general advices about algorithms, performances, and such.
The second part is more like a huge catalogue of "classical" problems and algorithms related to those, with advices about how to work them. It does not contain algorithms or pseudo-code (or very little), but is more about how to address the problem (and also contains pointers to an implementation).
Accessible Guide to Algorithm DesignReview Date: 2006-02-21
The first part of the book is on techniques, and covers the basics of modeling algorithms along with "Big Oh" notation, data structures and sorting, dynamic programming, graph algorithms, combinational search, and the concept of intractibility. What makes this section of the book particularly interesting are the author's "war stories" that talk about real world applications of the ideas discussed in each chapter.
Part two of the book, "Resources", is an extensive catalog of algorithmic problems organized by type. For each problem mentioned, the book includes a problem description and discussion, possible implementations, and other algorithmic problems that are related to this one. In the implementation section for each algorithm, the author demonstrates the kinds of questions that the reader should ask when designing his or her own implementation. The C, C++, Fortran, and Pascal code for all algorithm implementations mentioned is on the accompanying CD rather than in the book itself, which helps make the book more compact.
This book is a very good introduction to the methods of algorithm analysis and design, and an encyclopedic reference on many different types of algorithms. Highly recommended.
For the real programmerReview Date: 2005-07-15
Overall, I found that when confronted to real world problems, the "Algorithm Design Manual" was a better resource than other Algorithm books. This is why I'm recommending it to software engineers out there. It seems to be written for people working with algorithms to solve problems, rather than as a support for an academic course.
On the negative side: I find the resource catalog to be exhaustive but somewhat shallow. As I'm getting older and slower, some things are not as obvious as they used to be. For example, I was quite unable to derive how to use Voronoi diagrams to perform nearest neighbour search, although it is supposed to be "a simple matter".
extremely practical, very good as a starting point in algorithms studyReview Date: 2006-01-17
Together with "Programming challenges" also from Skiena & co. constitutes a powerful known algorithms references, and supplied with some natural problem-solving talent, could be a succesfull preparation for something like ACM contests or topcoders.com
A very practical reference in designing algorithmReview Date: 2003-10-16


Great bookReview Date: 2008-04-14
The first part mostly contains general advices about algorithms, performances, and such.
The second part is more like a huge catalogue of "classical" problems and algorithms related to those, with advices about how to work them. It does not contain algorithms or pseudo-code (or very little), but is more about how to address the problem (and also contains pointers to an implementation).
Accessible Guide to Algorithm DesignReview Date: 2006-02-21
The first part of the book is on techniques, and covers the basics of modeling algorithms along with "Big Oh" notation, data structures and sorting, dynamic programming, graph algorithms, combinational search, and the concept of intractibility. What makes this section of the book particularly interesting are the author's "war stories" that talk about real world applications of the ideas discussed in each chapter.
Part two of the book, "Resources", is an extensive catalog of algorithmic problems organized by type. For each problem mentioned, the book includes a problem description and discussion, possible implementations, and other algorithmic problems that are related to this one. In the implementation section for each algorithm, the author demonstrates the kinds of questions that the reader should ask when designing his or her own implementation. The C, C++, Fortran, and Pascal code for all algorithm implementations mentioned is on the accompanying CD rather than in the book itself, which helps make the book more compact.
This book is a very good introduction to the methods of algorithm analysis and design, and an encyclopedic reference on many different types of algorithms. Highly recommended.
For the real programmerReview Date: 2005-07-15
Overall, I found that when confronted to real world problems, the "Algorithm Design Manual" was a better resource than other Algorithm books. This is why I'm recommending it to software engineers out there. It seems to be written for people working with algorithms to solve problems, rather than as a support for an academic course.
On the negative side: I find the resource catalog to be exhaustive but somewhat shallow. As I'm getting older and slower, some things are not as obvious as they used to be. For example, I was quite unable to derive how to use Voronoi diagrams to perform nearest neighbour search, although it is supposed to be "a simple matter".
extremely practical, very good as a starting point in algorithms studyReview Date: 2006-01-17
Together with "Programming challenges" also from Skiena & co. constitutes a powerful known algorithms references, and supplied with some natural problem-solving talent, could be a succesfull preparation for something like ACM contests or topcoders.com
A very practical reference in designing algorithmReview Date: 2003-10-16

Used price: $78.16

Very Good Book for Starters and Experienced ProfessionalsReview Date: 2007-10-18
Unique in its genreReview Date: 2007-07-05
The book is very dense in information and at first, its format was making it tedious for me to read. It did take around 3 chapters before I get accustomed to the format. Once, this aspect was out of the way, this book became amazingly interesting. It describes systems used in banking, by diplomats, military, for nuclear weapons, police, set-up box TV decoders smart cards and anti tampering devices in general, spies, biometric authentication, etc.. and focus on the security protocols used by these systems and then highlights the weaknesses of the systems and how people have figured out how to workaround these protocols.
The best quality of the book is that it will help you to better understand the mindset of a secure system designer and a system hacker.
Should read if ...Review Date: 2008-06-15
Textbook for class.Review Date: 2007-03-18
More high-level concepts and less hands-on guidanceReview Date: 2006-03-29

Used price: $92.30

Immense volume, meager qualityReview Date: 2007-09-06
Excellet handbook for system identification backgroundReview Date: 2006-03-13
A great theoretical introduction to DSPReview Date: 2005-12-12
Some of the things I liked in this book are:
- The organization of the material and lucidity of the writing and explanation
- Consistency of notation
- The concepts of frequency in continuous and discrete time signals in Chapter 1
- The long introduction to discrete time systems and the concepts of linear time invariance in Chapter 2
- The explanation of Fourier series and Fourier transforms of continuous time and discrete time signals (periodic and non periodic) in Chapter 4 is the best part of this book
- Frequency domain characteristics of LTI systems in Chapter 4
- The way the DFT was introduced and its relationship with the DTFT in Chapter 5
- Sampling and reconstruction of signals in Chapter 9
Some of the things I did not like in this book are:
- The way the sampling theorem was derived in Chapter 4. In DSP you can derive the same thing in many ways but in many cases one method is more intuitive and simpler than the rest. There is an easier way to derive the sampling theorem
- There are mistakes in some equations. Not a major issue though
- There is no MATLAB or computer exercises or examples anywhere. This is a pity because you can learn so much and get a lot of insights with a few hours of DSP with MATLAB. Also there are some things like filter design which are done only on a computer
- I did not like the treatment of Multirate DSP in Chapter 10
- There is no treatment of 2D processing anywhere
On the whole this is a great theoretical introduction to DSP with a few minor drawbacks. I would still recommend this book over the ones by Oppenheim and Mitra for a beginner. But I would wait for the fourth edition that comes out in Feb. 2006 before buying any DSP book.
Something is missing ...Review Date: 2004-10-28
The one nice thing I can say about the text is that it is thorough in its coverage. The book covers almost every topic I can think of for both undergraduate and graduate-level courses. My course has supplemented the text with "Discrete-Time Signal Processing" by Oppenheim and Schafer as well as "Adaptive Filter Theory" by Haykin. I found Oppenheim's text to be better for the examples -- even buying the Shaum's Outline for DSP can suffice. Haykin's text is for our coverage of adaptive filter theory.
If you're looking for a good undergraduate text try B.P. Lathi's book "Signal Processing and Linear Systems" -- it's much better and has been used at my University for a number of years now to teach our two undergraduate-level DSP courses.
Solid BookReview Date: 2004-03-10

Used price: $34.34

I liked, but it could be betterReview Date: 2007-03-25
it presented many ideas and a right pragmatic approach to test a trading system.
I found tough the statistics part, but it's not an author's fault: it's statistics.
in the final part I found many repetition (many pages might be saved just writing: " hey, for this system we apply the same said at pag. xyz..").
Only two things remained a mistery to me (but I'm not much intellingent..): why didn't the author make any test for longer horizons? in the end, the strategies never approached a longer term trading strategy: usually the trades last few days.
maybe it's not worth? the author doesn't tell us
ah, and it's not an encyclopedia: why did he choose this name?
this is the second mistery...
Research oriented traders, read this one!!Review Date: 2005-12-27
only does it go over large variety of different approaches
to the commodities market, but the authors let you know the
pitfalls and traps to various methods of evaluating the markets.
The book is written in a concise manner that allows quick naviagation
and further study of any desired topics. The authors have
documented their sources well and really covered a lot of ground!
A *must* read for traders! *AND* I was interested in
the companion CD, called the number listed on the web site
and got to speak with one of the authors! He was very helpful
and answered all my questions right away! You can't beat
that for service with a book!
A must read for strategy tradersReview Date: 2005-09-07
Best Book on Building Trading StrategiesReview Date: 2005-12-19
Too Technical for MeReview Date: 2006-11-05

Used price: $25.99

I wish I had this when I was in collegeReview Date: 2007-07-24
One of the factors that I did not see mentioned in other reviews is that Sedgewick's visual representations of the algorithms are phenomenal. In older algorithms textbooks, these have always been represented by small diagrams--if any--that show what happens when an algorithm is used to attack a small problem (say, a linked list with 10 nodes). This text shows a visual representation of those small cases, but then goes the extra mile to show visual representations of the same algorithm when scaled to a variety of massive inputs. These representations are a great tool for comparing the scalability of various algorithmic approaches against one another.
Good documentation of basic data structuresReview Date: 2001-10-27
C++ AlgorithmsReview Date: 2001-10-22
Excellent, Exhaustive (but not rigorous)Review Date: 2001-10-21
fundamental, searching and sorting algorithms, then this is one of
the very best available.
Sedgewick has split his popular book into two volumes, with Graph
algorithms being hifted to the second volume. Moreover, many advanced
topics like computational geometry, fft, number theoretic algorithms
etc, which were introduced in the previous edition, seem to be missing
now - so the breadth of coverage seems to have reduced, which is a pity.
However, the depth has increased instead - i doubt that even Knuth
covers more sorting algorithms ! In particular, there are several
recent algorithms and data structures which are treated in greater
detail here than by Knuth. Of course, Knuth analyses all the
algorithms he presents in rigorous and exhaustive detail, which
this book doesn't.
Moreover, the book has many new algorithms and presents the state of the
art in sorting and searching algorithms, giving it a distinct advantage
over the older books.
Sedgewick makes it very clear in the preface that the emphasis is on
the practical importance of the algorithms, so esoteric algorithms which
are important 'only in theory' may find no mention. Also the emphasis is
more on the design of algorithms than on their analysis.
The number of (exercise!!) problems has multiplied manifold in this edition
to become more than most competing textbooks. Problems are graded by
difficulty level to help you choose the ones relevant to your needs.
The exposition is clear and authoritative - Prof. Sedgewick is a leading
authority in the field of algorithms and a student of Donald Knuth.
He has a gift for making difficult concepts seem simple, and the great
illustrations in the book go a long way in explaining the behaviour of
the algorithms.
For the practising professional, this is an ideal reference, since it'll
help you select the best algorithm for your task without bogging you
down with heavy mathematics.
The reasearcher, on the other hand, may benefit by gaining unique insights
from a master of the area, while using other books for the detailed
analysis of algorithms, including prehaps Sedgewick's own book on the
analysis of algorithms(with Flajolet).
A caveat - the code may not be 'ready to run'. It's better not to rely
on this book to provide you with usable code - if that is what you want,
perhaps the books by Drozdek/Weiss/Heileman/Rowe might be better choices.
If you want C code rather than C++, then the C version of this book is
a good choice, since the code provided is of 'K & R' class and therefore
a delight to read.
Of course, if you're looking for a language independent coverage,
then 'Introduction to algorithms' by Cormen,Leiserson and Rivest is
possibly the best book which combines rigor with comprehensive coverage
of the most important algorithms. Look out for the newly released
second edition.
And if you want a more rigorous and equally exhaustive coverage of
sorting and searching, go for Knuth vol.3 - still the authoritative
reference, though it may require more hard work on the reader's part.
Otherwise, invest in this and you won't be disappointed.
Crunch TimeReview Date: 2002-03-31
This book deals with a good number of algorithms and does not shy away from reasonable analysis. The book helped a lot when I was having problems with putting a good harsh function together.
The chapter on recursion is also very good too.
In order to write decent code you have to know about this difficult/painful subject and this book takes some of that pain away.
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