Snel partitioneren is een algoritme voor het verdelen van een set gegevens in twee subsets, zodat de som van de elementen in de ene subset zo dicht mogelijk bij de som van de elementen in de andere subset ligt.
Snel partitioneren is een hebzuchtig algoritme, wat betekent dat het bij elke stap de beste keuze maakt zonder rekening te houden met de toekomstige gevolgen. Het algoritme werkt door eerst een willekeurig element uit de set te selecteren en vervolgens de set in twee subsets te verdelen, zodat de som van de elementen in de ene subset groter is dan of gelijk is aan de som van de elementen in de andere subset. Het algoritme past dit proces vervolgens recursief toe op elke subset totdat het gewenste aantal partities is bereikt.
De tijdscomplexiteit van snelle partitionering is O(n log n), waarbij n het aantal elementen in de set is. Dit komt omdat het algoritme de set recursief in twee subsets verdeelt, en elke recursieve oproep kost O(n) tijd.
Snel partitioneren is een veelgebruikt algoritme voor het partitioneren van gegevens, en wordt vaak gebruikt in combinatie met andere algoritmen, zoals sorteren en zoeken. |