1 Divide and Conquer
Divide and conquer is a strategy that splits a problem into two or more smaller versions of the same problem, solves each recursively, and combines the results. It is the idea behind merge sort, binary search, and many fast algorithms.
Divide and conquer — merge sort idea:
To sort [8, 3, 5, 1, 9, 2, 7, 4]:
DIVIDE: [8, 3, 5, 1] and [9, 2, 7, 4]
RECURSE: sort each half independently
CONQUER: merge the two sorted halves into one sorted list
The power of divide and conquer comes from the fact that halving the problem size repeatedly leads to far fewer total steps than processing everything at once. This is why merge sort is much faster than bubble sort for large inputs.