Tire Tree

TRIE树(Trie Tree or Prefix Tree) 又称字典树或者前缀树,一种用于快速检索的多叉树结构。

Trie Tree 是一种哈希树的变种。用于统计,排序和保存大量的字符串,所以经常被搜索引擎系统用于文本词频统计。

优点:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓字符串比较,查询效率比哈希表高。


Trie树中根节点为空字符,其他每个节点仅包含一个字符;从根节点到某一个终止节点的路径上经过的字符连接起来就是对应的string;Trie树中查找长度为M的string的时间复杂度为O(M),BST树中查找长度为M的string则需要O(MlogN),N为树中的节点数,则logN为树的高度,并且前提是BST为平衡树,Trie树的时间复杂度不受树是否平衡的影响;对于Hash表而言,其也可以实现查找,但是Trie树可以实现Closest Fit,也就是近似查找,Hash表不能实现近似查找;同时,Hash表有插入冲突需要解决;


当要查一个单词是不是在字典树中,首先看单词的第一个字母是不是在字典的第一层

如果不在,说明字典树里没有该单词

如果在就在该字母的孩子节点里找是不是有单词的第二个字母

没有则说明没有该单词,有的话用同样的方法继续查找.

字典树不仅可以用来储存字母,也可以储存数字等其它数据。



Tire Tree





你可能感兴趣的:(tree,tree,trie,prefix,字典树,前缀树)