Problem znalezienia kktej statystyki pozycyjnej w nieposortowanej tablicy

by Jerry Sky

2020-03-23



Specyfikacja

input : A=(a1,,an), k{1,,n}A = (a_1,\dots,a_n),~k\in \{1,\dots,n\}
output: kkty najmniejszy element z tablicy AA

Outline problemu

  1. Naiwny algorytm mógłby najpierw posortować tablicę AA (złożoność obliczeniowa conajmniej O(nlnn)O(n\ln n)) i zwrócić kkty element

  2. Jeśli k=1k=1 to wyznaczamy min\min z AA,
    natomiast gdy k=nk=n to wyznaczamy max\max z AA - potrafimy to trywialnie zrobić w złożoności O(n)O(n) zwyczajnie przeglądając całą tablicę

  3. Jeśli k=n2k = \big\lfloor \frac{n}{2} \big\rfloor to wyznaczamy medianę - wykonanie tego w złożoności liniowej jest nietrywialne - więcej informacji tutaj (2.4 Medians).