Я шукав найефективніший (потоковий ??) алгоритм, який підказує мені "k" найчастіше зустрічаються елементи в потоці даних в будь-який момент часу. Ця публікація: Алгоритми потоку даних "Розділити та перемогти" зацікавила мене.
Наприклад, припустимо, що є числа: (4,3,5,1,6,2,4,3,3,8,9,1), і я запитую 3 найчастіше зустрічаються числа (скажімо), тоді я повинен отримайте (3,4,1) як відповідь.
Я спробував шукати в Інтернеті, але не зміг знайти жодного місця, яке б підходило і каже, що це найкраще. Тривіальним рішенням буде використання купи або збалансованого бінарного дерева, але я думаю, що є кращий спосіб, і я хотів знати, чи це десь задокументовано.
Редагувати: Я шукаю алгоритм, який завжди дає правильну відповідь, на відміну від алгоритму апроміксації (багато з яких спливає в результатах пошуку), який покладається на розподіл даних тим чи іншим чином