Этот вопрос на самом деле довольно прост, но я хотел бы услышать некоторые идеи, прежде чем переходить к кодированию. Дан файл со словом в каждой строке, вычисление n наиболее часто встречающихся чисел.
Первое и, к сожалению, единственное, что приходит мне в голову, использовать std::map
. Я знаю, что коллеги по C++ скажут, что unordered_map
было бы очень разумно.
Я хотел бы знать, можно ли что-нибудь добавить к стороне алгоритма, или это просто вопрос типа «выигрывает тот, кто выбирает лучшую структуру данных». Я искал его в Интернете и прочитал, что хеш-таблица и приоритетная очередь могут предоставить алгоритм с O(n)временем выполнения, однако я предполагаю, что это будет сложно реализовать
. Любые идеи ?