Continually reduces the problem into a smaller sub-problem, until a ‘base problem’, i.e. a trivial problem is reached. Then solves this base problem and starts ‘adding the sub-problems back’. Most recursive algorithms use the decreases and conquer approach.

  • Depth First Search (DFS): Starts by reducing the graph into a subgraph of just the start node and it’s neighbours. Then it builds on this subgraph
  • Breadth First Search (BFS): Same idea as DFS
  • Recursive Factorial Algorithm: is reduced to until the problem becomes