4
In this chapter
• You learn about divide-and-conquer. Sometimes
you’ll come across a problem that can’t be solved
by any algorithm you’ve learned. When
a good
algorithmist comes across such a problem, they
don’t just give up. They have a toolbox full of
techniques
they use on the problem, trying to
come up with a solution. Divide-and-conquer
is the first general technique you learn.
•
You learn about quicksort, an elegant sorting
algorithm that’s often used in practice. Quicksort
uses divide-and-conquer.
51
quicksort
You learned all about recursion in the last chapter.
This chapter
focuses on using your new skill to solve problems. We’ll explore
divide and conquer
(D&C), a well-known recursive technique for
solving problems.
This chapter really gets into the meat of algorithms. After all,
an algorithm isn’t very useful if it
can only solve one type of
problem. Instead, D&C gives you a new way to think about solving