Алгоритм:Улучшенный способ вычисления частотности списка слов

Этот вопрос на самом деле довольно прост, но я хотел бы услышать некоторые идеи, прежде чем переходить к кодированию. Дан файл со словом в каждой строке, вычисление n наиболее часто встречающихся чисел.

Первое и, к сожалению, единственное, что приходит мне в голову, использовать std::map. Я знаю, что коллеги по C++ скажут, что unordered_mapбыло бы очень разумно.

Я хотел бы знать, можно ли что-нибудь добавить к стороне алгоритма, или это просто вопрос типа «выигрывает тот, кто выбирает лучшую структуру данных». Я искал его в Интернете и прочитал, что хеш-таблица и приоритетная очередь могут предоставить алгоритм с O(n)временем выполнения, однако я предполагаю, что это будет сложно реализовать

. Любые идеи ?

6
задан Ali 17 April 2012 в 23:48
поделиться