我正在寻找一种方法来查找输入文件中至少包含 3 个字符的所有重复序列,然后打印出最常见的那些!它似乎需要大量的字符串处理和对输入文件的密集搜索,特别是因为要查找的模式的最大大小没有上限!
是否有任何有效的算法可以以尽可能少的处理和困惑来完成它? 我应该使用 string.h 还是使用 char 数组更好? 关于如何开始的任何提示/有用的片段等?
发送
最佳答案
我建议您从该文件创建一个后缀树。这将相对于文件的大小具有线性复杂性,并将解决问题。您可以稍微修改算法以存储除了字符串本身之外字符串遇到的次数。这是一个great post解释如何创建后缀树。
关于c++ - 使用 C++ 查找文件中的所有重复模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11099739/