从文本中计算字数.有可能用一个尝试吗?

word count from text..is it possible using a trie?

本文关键字:一个 计算 文本 有可能      更新时间:2023-10-16

我知道单词计数Qs已经被问过很多次了,MAP似乎是一致的选择。

但是我觉得MAP可能会占用很多空间,如果文本非常大,并且唯一单词的数量非常多。那么为什么不用Trie呢?叶节点将存储每个单词的频率。

还是Map比trie更有优势?

请帮助我理解。

注:

从这里我们可以估计出英语中的单词约为1M。从这里我们得到了map的内存使用公式。现在我们可以计算出,如果你的文本是该语言的所有单词,你的映射将占用大约(平均字长6个字符)(32字节的短字符串(Windows) + 4字节int) * 1M +(可以忽略的开销)= 36M ~ 34MB内存。

所以我想说,除非你是在嵌入式系统中,否则你不必担心。

对我来说,trie似乎是一个非常合理的解决方案-对于大多数大型文本体来说,它确实具有更小的占用空间。还怀疑根据映射上的数据和内部工作,它可能会更快。真正唯一的反对意见是,这是一个有点多余的,因为唯一的单词计数不是可怕的处理器密集。

相关文章: