要从一个文件中查出以唯一字符串 a 开头的那一行,怎么能提高查询效率。
我现在的方法很笨:
1.按行把文件内容存入一个数组
2.用正则去match数组中的每一个元素直到找到为止
这样感觉效率很低,因为文件有17万行,所以最低也要循环17万次...
初学者希望得到大家的帮助,谢谢。
把这个文件处理成一个用字典树(trie)或者B树存储的结构,然后就可以快速查询了。
前面说得可能太抽象,给你一个容易实现的算法吧。效率虽然比trie/b-tree略低,但是也很够用。
预处理
n == strlen(a)
。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。