Overview
In Chapter 25 we discuss various techniques for establishing lower bounds for the complexity
of algorithms. In particular, we discuss decision trees and comparison trees, adversary
arguments, and information theoretic arguments. We establish sharp lower bounds for the
problem of finding both the maximum and minimum values in a list, as well as the problem of
finding the largest and second largest value. We also establish an order-optimal lower bound
for the problem of finding the median value in a list. We finish the chapter with determining a
lower bound for the problem of sorting a list of size n in parallel sorting using n processors.
Chapter Objectives
After completing the chapter the student will know:
• The various techniques for establishing lower bounds for the complexity of algorithms,
including counting arguments, decision and comparison trees, adversary arguments, and
information theoretic arguments
• A lower bound for finding both the maximum and minimum values in a list, and an optimal
algorithm for this problem
Instructor Notes
Except for the material on parallel algorithms, the remainder of the material in this chapter can
be covered any time after the first four chapters are covered. For example, the instructor may
wish to discuss lower bound results using decision and comparison trees for searching and