4
Part I
Foundations
Chapter 4 delves further into the divide-and-conquer method introduced in
Chapter 2. In particular, Chapter 4 contains methods for solving recurrences, which
are useful for describing the running times of recursive algorithms. One powerful
technique is the “master method,” which can be used to solve recurrences that arise
from divide-and-conquer algorithms. Much of Chapter 4 is devoted to proving the
correctness of the master method, though this proof may be skipped without harm.
Chapter 5 introduces probabilistic analysis and randomized algorithms. We typ-
ically use probabilistic analysis to determine the running time of an algorithm in
cases in which, due to the presence of an inherent probability distribution, the
running time may differ on different inputs of the same size. In some cases, we
assume that the inputs conform to a known probability distribution, so that we are
averaging the running time over all possible inputs. In other cases, the probability

This is the end of the preview. Sign up
to
access the rest of the document.