Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Concept

Divide and Conquer

Technique

Divide and conquer, originally a political maxim, designates an algorithm design paradigm in which a problem is recursively broken down into two or more sub-problems of the same or related type until they become simple enough to be solved directly, and the solutions to the sub-problems are then combined to give a solution to the original problem. It is the basis of efficient algorithms for many problems, such as sorting with quicksort and merge sort, multiplying large numbers with the Karatsuba algorithm, finding the closest pair of points, top-down parsing, SAT solving and computing the discrete Fourier transform. Algorithms recorded in this atlas are grouped here when their design technique is divide and conquer.

Facts
Core Principle
Solve small instances directly, otherwise divide the problem into two or more smaller instances, solve each recursively and combine the solutions. 1
Divide and Conquer
Filter Results2 entries
Connections

In Field

Technique Used By

Source Butterfly diagram (Wikipedia)
Source Collective operation (Wikipedia)
Source IBM: What is a decision tree?
Source Falcon (signature scheme) (Wikipedia)
Source Floyd-Rivest algorithm (Wikipedia)
Source Median of medians (Wikipedia)
Source Wikipedia: Symbolic regression
Source Thompson's construction (Wikipedia)
Sources
1. NIST DADS: divide and conquer
Definition
Quote, Definition
Solve a problem, either directly because solving that instance is easy (typically, because the instance is small) or by dividing it into two or more smaller instances. Each of these smaller instances is recursively solved, and the solutions are combined to produce a solution for the original instance.
View the Source
Wikipedia: Divide-and-conquer algorithm
Wikipedia, lead section
Quote, Wikipedia, lead section
A divide-and-conquer algorithm recursively breaks down a problem into two or more sub-problems of the same or related type, until these become simple enough to be solved directly.
View the Source
Wikipedia: Symbolic regression
Technique Used By: Symbolic Regression, Article body
Quote, Technique Used By: Symbolic Regression, Article body
This is an example of divide and conquer, which reduces the size of the problem to be more manageable.
View the Source
Collective operation (Wikipedia)
Technique Used By: Collective operation, Article body
Quote, Technique Used By: Collective operation, Article body
Since an implementation by means of a sequential for-loop with p − 1 {\displaystyle p-1} iterations becomes a bottleneck, divide-and-conquer approaches are common.
View the Source
IBM: What is a decision tree?
IBMTechnique Used By: Decision tree learning, Section on how decision tree learning works
Quote, Technique Used By: Decision tree learning, Section on how decision tree learning works
Decision tree learning employs a divide and conquer strategy by conducting a greedy search to identify the optimal split points within a tree.
View the Source
Median of medians (Wikipedia)
Technique Used By: Median of medians, Algorithm, pivot subroutine
Quote, Technique Used By: Median of medians, Algorithm, pivot subroutine
divides its input (a list of length n) into groups of at most five elements, computes the median of each of those groups using some subroutine, then recursively computes the true median
View the Source
Thompson's construction (Wikipedia)
Technique Used By: Thompson's construction, The algorithm
Quote, Technique Used By: Thompson's construction, The algorithm
The algorithm works recursively by splitting an expression into its constituent subexpressions
View the Source
Floyd-Rivest algorithm (Wikipedia)
Technique Used By: Floyd-Rivest algorithm, Algorithm
Quote, Technique Used By: Floyd-Rivest algorithm, Algorithm
The Floyd-Rivest algorithm is a divide-and-conquer algorithm, sharing many similarities with quickselect.
View the Source
Butterfly diagram (Wikipedia)
Technique Used By: Butterfly diagram, Lead, Cooley-Tukey FFT
Quote, Technique Used By: Butterfly diagram, Lead, Cooley-Tukey FFT
which recursively breaks down a DFT of composite size n = rm into r smaller transforms of size m
View the Source
Falcon (signature scheme) (Wikipedia)
Technique Used By: Falcon (signature scheme), Details, signing
Quote, Technique Used By: Falcon (signature scheme), Details, signing
Falcon uses a divide and conquer approach similar to the Fast Fourier transform with some added noise to find the two polynomials without leaking too much information about the secret basis, hence the name.
View the Source
Wikipedia: Divide-and-conquer algorithm
WikipediaIn Group: Algorithm Design Strategies, Lead
Quote, In Group: Algorithm Design Strategies, Lead
In computer science, divide and conquer, originally a political maxim, designates an algorithm design paradigm.
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.