Popište typ úkolu prováděný následujícím algoritmem.
def quicksort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quicksort(left) + middle + quicksort(right)
Tento algoritmus je třídící algoritmus, který třídí pole prvků vzestupně pomocí techniky quicksort. Technika quicksort je rekurzivní, rozděl a panuj algoritmus. Pracuje tak, že nejprve vybere pivotní prvek z pole a poté rozdělí pole na dva podpole, jedno obsahující všechny prvky menší než pivot a druhé obsahující všechny prvky větší než pivot. Poté je algoritmus quicksort rekurzivně volán na obou podpolích, dokud nejsou všechny prvky seřazeny. Nakonec jsou obě seřazená podpole sloučena, čímž vznikne plně seřazené pole.