又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。

Tire树的性质:

1.根结点不包含字符,其他的每一个节点只包含一个字符;

2.从根结点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串(假如某个节点为一个字符串的结尾,对其打个标记即可)

3.每个节点的所有子节点包含的字符都不相同

典型应用

用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。

优点

利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。

缺点

空间复杂度比较大

优化

我们可以用链表来动态开辟空间,达到空间上利用率的最大化

如下图就是一棵由字符串abcd, abd, bcd, efg, hij 组成的tire树