Divide-and-Conquer is a general algorithm design paradigm:

  • Divide: divide the input data into two disjoint subsets and
  • Recur: solve the subproblems associated with and
  • Conquer: combine the solutions for and into a solution for