【发布时间】:2013-08-29 03:21:10
【问题描述】:
我正在处理传入的文本流。例如 美国、英国、中国、俄罗斯、美国、英国、中国、法国、德国。
我需要将它们分成 3 个单词(或者 n 个单词)的序列,并分析哪个序列的频率最高。在上述情况下,序列 USA, UK, China 出现了两次。所以它的频率最高。
此外,我需要索引所有序列的频率。我曾尝试使用 C++ stl map 来部分解决一些问题,但我认为该解决方案并不优雅。原因是唯一索引m个唯一词,使用stl map在3词序列中,数学如下,
i x m x m + j x m + k
i, j, k 是每个单词的整数映射。
上述解决方案的问题在于连续的文本流,我们不知道唯一词的总数,或 m。谁能推荐一个更好的算法?
【问题讨论】:
标签: c++ database algorithm analytics bigdata