Randomization techniques have been employed to solve numerous problems of computing both sequentially and in parallel. Examples of randomized algorithms that are asymptotically better than their deterministic counterparts in solving various fundamental problems abound. Randomized algorithms have the advantages of simplicity and better performance both in theory and often in practice. This two-volume handbook is a collection of articles covering a wide spectrum of issues in randomization. The handbook should be a valuable reference for all the important areas of algorithm design, including those essential to its applications in computer science and engineering.