Particionamento rápido é um algoritmo para particionar um conjunto de dados em dois subconjuntos, de modo que a soma dos elementos em um subconjunto seja o mais próximo possível da soma dos elementos no outro subconjunto.
O particionamento rápido é um algoritmo ganancioso, o que significa que faz a melhor escolha em cada etapa sem considerar as consequências futuras. O algoritmo funciona primeiro selecionando um elemento aleatório do conjunto e depois particionando o conjunto em dois subconjuntos, de modo que a soma dos elementos em um subconjunto seja maior ou igual à soma dos elementos no outro subconjunto. O algoritmo então aplica recursivamente esse processo a cada subconjunto até que o número desejado de partições seja alcançado.
A complexidade de tempo do particionamento rápido é O(n log n), onde n é o número de elementos no conjunto. Isso ocorre porque o algoritmo divide recursivamente o conjunto em dois subconjuntos, e cada chamada recursiva leva tempo O(n).
O particionamento rápido é um algoritmo amplamente utilizado para particionar dados e costuma ser usado em conjunto com outros algoritmos, como classificação e pesquisa.