问题:在计算文本文件中的n 个最常用词时,哪种数据结构更有效。哈希表或优先队列?
我之前问过一个与这个主题相关的问题,但是在创造性的回答之后我感到困惑,我决定使用两种我实际上很容易实现的数据类型;哈希表与优先队列
优先级队列混淆:说实话,我听过 youtube 上有关优先级队列的讲座,了解它是每个组件,但是当谈到它的适用性时,我感到困惑。使用二进制堆,我可以轻松实现优先级队列,但我的挑战是将其组件使用与频率问题相匹配。
我的哈希表想法:因为在这里决定哈希表的大小有点不确定,所以我决定选择对我更有意义的方法:26。由于字母表中的字母数量。此外,使用良好的散列函数将是有效的。然而,在我看来,对链表(使用单独的链表进行勾结)和将其整数值增加 1 进行一次又一次的访问是没有效率的。
抱歉,这篇文章很长,但作为程序员,你会推荐哪一个。如果优先级队列你能简单地给我一些想法来将它与我的问题联系起来,如果哈希表可以做任何事情来提高它的效率吗?