键树的改进算法--双数组实现

来源:互联网 发布:李尔韦恩 知乎 编辑:程序博客网 时间:2024/05/03 07:59
  • 问题:  给我们一篇文章中,在此文章中找出一些词,这些词都存在于一个成千上万个词的词库中。
  • 解决1:通过循环遍历这成千上万个词,在我们这篇文章中搜索,这个效率肯定很低下;
  • 解决2:通过这成千上万个词建立一个键树,然后通过遍历文章中的词,然后从这个键树中进行查找,这个效率是根据文章的长度而改变。
我们都应该知道,键树中存在一个问题,如果孩子节点的数目比较多,会影响查找的性能,需要在孩子节点当中遍历。双数组解决了此问题,什么是双数组呢?

双数组: 通过主键值加上每个字符的编码值得到新的键值查找方式。
index12...100101102103104..base00...     ..check11...     ..char         

我已经实现的源码:
https://github.com/oceanwavewyt/filter



原创粉丝点击