1. 概述
字典树,又称单词查找树,Tire树,是一种树形结构,是一种的哈希树的变种。
2. 基本性质
- 根节点不包含字符,除了根节点外的每一个子节点都包含一个字符
- 从根节点到某一个节点,路径上经过的字符连接起来,级市该节点的对应的字符串
- 每个节点的所有子节点包含的字符都不同
3. 应用场景
典型应用就是用于统计,排序和公共字符串(不仅仅包含字符串),经常被搜索引擎用于文本词频统计。
- 字符串的快速查找:给出N个单词组装成熟词表,以及一篇全用的小写英文书写的文章,按照最找出现的顺序写出所有不在熟词表中的生词,将熟词建立一棵树,然后进入文章进行比较,这种方法的效率是很高的。
- 字典在串排序方面的应用:给定N个互不来往的仅由一个单词构成的英文名,让你将他们按照字典从小到大输出用字典树进行排序,采用数组方式创建字典树,这棵树的每个节点的所有的儿子很显然按照其字母的大小进行排序,对这棵树进行先序遍历即可。
- 字典树在最长的公共前缀的应用:对于所有的串建立的字典树,对于两个串的最长的公共前缀的长度,即他们在所在的节点的公共部分
4. 优点
利用字符串的公共前缀来减少查询时间,最大限度的减少无谓的字符串的比较,查询效率比哈希函数要高。
参考资料
https://blog.csdn.net/tuwenqi2013/article/details/89389983