- 问题: 给我们一篇文章中,在此文章中找出一些词,这些词都存在于一个成千上万个词的词库中。
- 解决1:通过循环遍历这成千上万个词,在我们这篇文章中搜索,这个效率肯定很低下;
- 解决2:通过这成千上万个词建立一个键树,然后通过遍历文章中的词,然后从这个键树中进行查找,这个效率是根据文章的长度而改变。
我们都应该知道,键树中存在一个问题,如果孩子节点的数目比较多,会影响查找的性能,需要在孩子节点当中遍历。双数组解决了此问题,什么是双数组呢?
双数组: 通过主键值加上每个字符的编码值得到新的键值查找方式。
index | 1 | 2 | ... | 100 | 101 | 102 | 103 | 104 | .. |
base | 0 | 0 | ... | .. | |||||
check | 1 | 1 | ... | .. | |||||
char |
我已经实现的源码: