Prune and search (in italiano "sfoltisci e cerca") è un metodo per risolvere problemi di ottimizzazione ideato da Nimrod Megiddo nel 1983.[1]
L'idea alla base del metodo è una procedura ricorsiva, ad ogni passo della quale la taglia dell'input è ridotta (prune) di un fattore costante . Esso è dunque un algoritmo del tipo divide et impera. Sia la taglia dell'input, sarà la complessità temporale di tutto l'algoritmo e la complessità temporale dell'operazione di sfoltimento, allora obbedirà alla seguente relazione di ricorrenza:
che si può provare, col metodo di Akra-Bazzi, avere soluzione , se , dove c è una costante.