Quando si implementa Quicksort, una delle cose che devi fare è scegliere un pivot. Ma quando guardo uno pseudocodice come quello qui sotto, non è chiaro come dovrei scegliere il perno. Primo elemento della lista? Qualcos'altro?
function quicksort(array)
var list less, greater
if length(array) ≤ 1
return array
select and remove a pivot value pivot from array
for each x in array
if x ≤ pivot then append x to less
else append x to greater
return concatenate(quicksort(less), pivot, quicksort(greater))
Qualcuno può aiutarmi a cogliere il concetto di scegliere un perno e se scenari diversi richiedono strategie diverse o meno.