字典树可以降低空间复杂度;01字典树可以降低时间复杂度。
字典树:又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。
基本性质:
1、根节点不包含字符,出根节点外的每一个子节点都包含一个字符
2、从根节点到某一结点,路径上经过的字符连接起来,就是该节点对应的字符串
3、每个结点的所有子节点包含的字符都不相同(相同的字符串在字典树中只出现一次)
对于 "to","tea","ted","ten","a","i","in","inn" 建立起来的字典树结构如下图:
01字典树:01字典树主要用于解决异或最值问题。01字典树是按位插入和查询的。因为如果一个数,它的高位值较大,那么这个数的值较大。所以我们插入和查询时是从最高位开始进行的。