- A Solving a problem by breaking it down into smaller subproblems
- BGenerating all possible solutions and selecting the best one
- CRepeating the same steps over and over until a solution is found
- DSearching for a solution by gradually eliminating possibilities