Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Сложности с алгоритмами |
Автор: Liz 26.8.2018, 05:31 |
Задача такова, мучаюсь уже третий день :( У меня есть огромный файл, из которого я считываю данные в ArrayList объектов. В итоге я получаю много объектов класса Result, состоящие из трех пунктов: String userId, String typeId, double evaluation. Мне надо наименьшим количеством проходов по массиву определить: 1. Все пользовательские Id, которые чаще всех встречаются. Аналогично, все Id типов 2. Все пользовательские Id, с наибольшей оценкой. (тут проще, я нахожу max, а потом по циклу вывожу id, может, есть лучше способ?) userId по типу: С13DGULS36MOYW typeID: K134RR6KK9 evaluation: 4.8 Спасибо большое!! |
Автор: Akina 27.8.2018, 14:19 | ||
А затолкать один раз этот "огромный файл" в какую-никакую БД (а хоть бы и встраиваемую) да и переложить на неё все эти геморрои - не? Для индексированной таблицы получение требуемых данных - тьфу! |
Автор: Liz 28.8.2018, 09:31 |
Спасибо всем за помощь! |
Автор: LSD 28.8.2018, 13:38 | ||
Это не алгоритм. |
Автор: Akina 28.8.2018, 15:29 |
Ну почему? "Провести предварительную подготовку массива данных для того, чтобы не пришлось самостоятельно рожать алгоритм и создавать программный код для его реализации" - тоже вполне себе алгоритм. Алгоритм упрощения себе жизни... И потом - что-то мне подсказывает, что автору решить задачу важнее, чем сделать это непременно по собственноручно реализованному алгоритму... |
Автор: LSD 29.8.2018, 12:52 | ||
Мне наоборот кажется, что задача учебная. И способ решения важнее, результата. |
Автор: Akina 29.8.2018, 13:16 | ||
Ну тогда требуемые данные нужно получать непосредственно во время считывания. Чё ждать-то? И потом - вообще непонятно, чей и какой это имеется в виду ArrayList. Если из java - то нафига что-то мапить, когда есть Collections.frequency, который всё это сделает за нас. А если из .Net - так можно его Sort и не париться с мапом, тупо просчитав в один проход... |
Автор: LSD 29.8.2018, 18:34 | ||
Теме была из Java перенесена. |
Автор: Akina 29.8.2018, 22:20 |
Тогда это в минус переносившему - надо было указать... |
Автор: Munaya 14.12.2020, 16:22 |
Модератор: Сообщение скрыто. |