如何查找大文件中出现频率最高的指定长度的字符串?嵌入式C语言的堆栈管理如何实现

发表时间:2018-03-15 03:40:02 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《过红绿灯的时候黄灯了算是闯红绿灯么?大家好beoc电脑死机然后长鸣报警》相关知识。本篇中小编将再为您讲解标题如何查找大文件中出现频率最高的指定长度的字符串?嵌入式C语言的堆栈管理如何实现。

就是想找①下文本中,特定长度的字符串,例如长度为⑤的字符串,找到出现频率最高的那个字符串。

因为楼主指定的是大文件, 目前的答案基本上都无法处理大文件, 因为数据无法 fit 进单①内存.

其实楼主的问题已经被非常广泛地研究了, 即为小工作空间下的 \"Heavy Hitter\" 问题, 有很多算法可以解决这种问题. 假设文件的总共的固定长度的字符串的数目为 m, 我们有以下这些算法:

Misra-Gries 算法. 虽然不会出现在本科级别的算法书里, 却实在是大名鼎鼎. 利用 O(k) 的内存, 该算法可以通过扫①遍数据, 查找出出现频率最高的固定长度的字符串, 前提是该字符串出现的频率大于 m / k. 伪代码和算法分析可以在这里找到:

Count-Min Sketch. 随机化的近似算法, 使用 O(log m * log (①/delta) * / eps^②) 的空间扫描①遍数据, 以概率 (① - delta) 给出①个很精确的估计, eps 在实践中可以取 ⓪.⓪①.Count-Sketch. 类似 Count-Min Sketch还有基于计数的 Frequent, LossyCounting, SpaceSaving 等算法.算法的具体描述, 可以在①下的 slides 里面找到. BTW 这个 slides 的作者是作 是做 randomized

algorithm, 尤其是 streaming algorithm 的超级大牛, 现在应该在 University of Warwick 当 professor, 在北美混过很多年.

编后语:关于《如何查找大文件中出现频率最高的指定长度的字符串?嵌入式C语言的堆栈管理如何实现》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《行人黄灯时进入路口被撞?雅典娜无霜冰箱更换风门时一定要与电脑板起换么50》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题