简介:
字典树,又称Trie、单词查找树、前缀树,是一种树形结 构,用于保存关联数组,其中的键通常是字符串。适合统计、 排序和存储大量的字符串,经常被搜索引擎系统用于文本词频 统计。
字典树利用字符串的公共前缀来减少查询时间,最大限度 地减少无谓的字符串比较,查询效率比哈希树高。
原理:
与二叉查找树不同,键不是直接保存在节点中,而是由 节点在树中的位置决定。
一个节点的所有子孙都有相同的前缀,也就是这个节点 对应的字符串,而根节点对应空字符串。
一般情况下,不是所有的节点都有对应的值,只有叶子 节点和部分内部节点所对应的键才有相关的值。
字典树:
例如,bee是一个单词,beer也是一个单词,可以在每个单词 结束的位置都加一个end[]标记,表示从根到这里有一个单词。
1.字典树的插入
插入操作指将一个字符串插入字典树中。字典树可以采用 数组或链表存储,这里采用数组存储实现静态链表。