Snabb partitionering är en algoritm för att dela upp en uppsättning data i två delmängder, så att summan av elementen i en delmängd är så nära summan av elementen i den andra delmängden som möjligt.
Snabbpartitionering är en girig algoritm, vilket innebär att den gör det bästa valet vid varje steg utan att ta hänsyn till framtida konsekvenser. Algoritmen fungerar genom att först välja ett slumpmässigt element från mängden och sedan dela upp mängden i två delmängder, så att summan av elementen i en delmängd är större än eller lika med summan av elementen i den andra delmängden. Algoritmen tillämpar sedan denna process rekursivt på varje delmängd tills det önskade antalet partitioner uppnås.
Tidskomplexiteten för snabb partitionering är O(n log n), där n är antalet element i uppsättningen. Detta beror på att algoritmen rekursivt delar upp mängden i två delmängder, och varje rekursivt anrop tar O(n) tid.
Snabbpartitionering är en mycket använd algoritm för att partitionera data, och den används ofta tillsammans med andra algoritmer som sortering och sökning.