问题:搜索引擎的关键词的联想词是如何实现的?
Trie树,也叫“字典树”。Trie树的本质,就是利用字符串之间的公共前缀,将重复的前缀合并在一起。
有6个字符串,它们分别是:how,hi,her,hello,so,see。构造成如下图形:
Trie树是多叉树。代码表示:
class TrieNode {
char data;
TrieNode[] children;
}
时间复杂度:构建时间复杂度是O(n)(n表示所有字符串的长度和),查收是O(k), k是字符串长度。
比较耗内存。
Trie树有极其严苛的要求:
一般从字符串中查询字符串,用哈希表或红黑树。Trie树不适合精确匹配
以he为前缀的hello、her展示在搜索提示框内,搜索引擎最基本原理。