4. Divide and Conquer

Learning Objectives

By the end of this chapter, you will be able to:

  • Describe the divide-and-conquer design paradigm
  • Implement standard divide-and-conquer algorithms such as merge sort, quicksort, and linear time selection
  • Solve problems using the MapReduce programming model
  • Learn how to use a multithreaded C++ MapReduce implementation

In this chapter, we shall study the divide-and-conquer algorithm design paradigm and learn how to use it to solve computational problems.

Introduction

In the previous chapter, we studied some commonly used data structures. Data structures are organizations of data in different forms, and a data structure enables and controls the cost of access to the data stored inside it. However, ...

Get C++ Data Structures and Algorithm Design Principles now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.