W ramach zadania domowego obejmującego implementację introsortu jestem pytany, dlaczego stosuje się heapsort zamiast scalesort (lub inne algorytmy w tym zakresie).
Introsort to hybrydowy algorytm sortowania, który zapewnia zarówno szybką średnią wydajność, jak i (asymptotycznie) optymalną wydajność w najgorszym przypadku. Zaczyna się od szybkiego sortowania i przełącza się na heapsort, gdy głębokość rekurencji przekracza poziom oparty na (logarytmie) liczby sortowanych elementów. ( Wikipedia , pobrano 2014-maj-06).
Jedynym powodem, dla którego mogę wymyślić, jest to, że heapsort jest „na swoim miejscu” ... Ale tak naprawdę nie rozumiem, dlaczego miałoby to tutaj znaczenie.