Szukałem najbardziej wydajnego algorytmu (streaming?), Który mówi mi „k” najczęściej występujące elementy w strumieniu danych w dowolnym momencie. Ten post: Algorytmy strumienia danych „Dziel i rządź” zainteresowały mnie.
Załóżmy na przykład, że istnieją liczby: (4,3,5,1,6,2,4,3,3,8,8,9,1) i szukam 3 najczęściej występujących liczb (powiedzmy), to powinienem otrzymaj (3,4,1) jako odpowiedź.
Próbowałem szukać w Internecie, ale nie mogłem znaleźć żadnego miejsca, które dałoby takie podejście i powiedziałoby, że to najlepsze. Trywialnym rozwiązaniem byłoby użycie sterty lub zbalansowanego drzewa binarnego, ale myślę, że jest lepszy sposób i chciałem wiedzieć, czy gdzieś jest to udokumentowane.
Edycja: szukam algorytmu, który zawsze daje poprawną odpowiedź, w przeciwieństwie do algorytmu appromiksacji (wiele z nich pojawia się w wynikach wyszukiwania), które opierają się na dystrybucji danych w taki czy inny sposób