Вопрос.Какая структура данных более эффективна при вычислении n наиболее часто встречающихся слов в текстовом файле. Хэш-таблицы или Приоритетные очереди?
Ранее я задавал вопрос, связанный с этой темой, однако после творческих ответов я запутался и выбрал два типа данных, которые мне действительно легко реализовать; Хэш-таблица и приоритетные очереди
Путаница с приоритетными очередями:Честно говоря, я слушал лекцию на YouTube, посвященную приоритетным очередям, понял, что это каждый компонент, однако, когда дело доходит до его применимости, я запутался. Используя бинарную кучу, я могу легко реализовать приоритетную очередь, однако моя проблема заключается в том, чтобы сопоставить использование ее компонентов с проблемой частоты.
Идея моей хеш-таблицы:Поскольку здесь решение о размере хеш-таблицы было немного неопределенным, я решил использовать то, что мне кажется более разумным: 26. Из-за количества букв в алфавите. Кроме того, с хорошей хэш-функцией это было бы эффективно. Однако повторное обращение к связанным спискам (используя отдельную цепочку для сговора) и увеличение его целочисленного значения на 1, на мой взгляд, было бы неэффективным.
Извините за длинный пост, но, как коллеги-программисты, какой из них вы бы порекомендовали. Если приоритетная очередь, можете ли вы просто дать мне идеи, как связать это с моим вопросом, если хэш-таблица, можно ли что-нибудь сделать, чтобы сделать ее еще более эффективной?