2020-03-23
Select
jest pięknym przykładem nietrywialnego wykorzystania metodologii dziel i zwyciężaj.
Składa się on z 5 kroków (w tym dwa rekurencyjne).
partition
i wykonuje dalsze dalsze kroki podobnie jak to miało miejsca w przypadku algorytmu RandomSelect
.Dzięki temu, że mediana median jest wykorzystywana jako pivot możemy pokazać, że liczba porównań (dla odpowiednio dużego) jest zadana następującą rekurencją: Rozwiązując tę rekurencję metodą dowodu indukcyjnego możemy pokazać, że algorytm Select
działa w złożoności (Worst Case Analysis).
Więcej informacji tutaj oraz tutaj (9.3).