现在主流的搜索引擎,他们的关键词提示功能非常全面和精确,肯定做了很多优化,但最基本的原理是用了数据结构:Trie 树。
Trie 树 ,也叫“字典树”。顾名思义,它是一个树形结构,它是一种专门处理字符串匹配的数据结构,用来解决在一组字符串中快速查找某个字符的问题。
1)字符串中包含的字符集不能太大。如果字符集太大,那存储空间可能就会浪费很多。
2)字符串的前缀重合比较多,不然空间消耗会很大。
3)如果要用Trie 树解决问题,那我们就需要从零实现一个Trie 树,还要保证没bug,这可能会导致问题复杂化,一般不建议这么做。
4)Trie 树是通过指针串起来的数据块是不连续的,所以对指针并不友好,性能上会打折扣。