For many applications a randomized algorithm is either the simplest algorithm available, or the fastest, or both. This tutorial presents the basic concepts in the design and analysis of randomized algorithms. The first part of the book presents tools from probability theory and probabilistic analysis that are recurrent in algorithmic applications. Algorithmic examples are given to illustrate the use of each tool in a concrete setting. In the second part of the book, each of the seven chapters focuses on one important area of application of randomized algorithms: data structures; geometric algorithms; graph algorithms; number theory; enumeration; parallel algorithms; and on-line algorithms. A comprehensive and representative selection of the algorithms in these areas is also given. This first book on the subject should prove invaluable as a reference for researchers and professional programmers, as well as for students.
I read the first eight chapters extensively, and only skimmed the remaining chapters. It is basically THE book on randomized algorithms, as far as I know, and I found it a great introduction. I tried reading it a few years ago, but found it difficult. Now, after a few algorithms classes, it was much more accessible.
The bible in Randomized Algorithms as far as I know, it covers a lot of fundamental things in the subject in a reasonable way. I think that often the application of the material like deviation bounds or the probabilistic method are too complicated for a first attempt, they leave out way too many steps in the algebra and thought process for it to be a smooth enjoyable read, you need a piece of paper and pencil next to you. The problems of the book are also not particularly suited for self study, they really do embrace the essence of what a problem is in contrary to an exercise, I would have enjoyed more simple exercises.
Tip: Read the appendix carefully and know where to find bounds. they are being used all the time in this book.
Surprising prerequisites are also things like Linear programming, proving inequalities, abstract algebra(fields etc.), computational geometry, series(geometric, power, etc).
Amazon 2009-01-10. Clearly regarded as the standard in this field (new to me this semester), with apparently a heavier emphasis on continuous probabilities (and thus requirements of measure theory, Borel algebras, and the Lesbesgue integral, knowledge of which is unfortunately no longer a safe assumption regarding CS grad students) than our text.
Basically read and worked through the first part for class, and then the chapters leading up to hashing and treaps.
The hashing chapter was a bit awkward and inelegant. The one on treaps was quite beautiful. Chapter 4 on the Chernoff bound and random parallel hypercube routing was fun, and well complemented by chapter 5 on the probabilistic method.
Nice book on randomized algorithms recommended by Nielsen and chuang, but as Nick mentions, the maths required are still one grad analysis class beyond me