An algorithm that splits a large Data Structure into smaller data structures and does operations individually onto them. Examples Merge Sort Quick Sort Array Binary Search