字典树(Java)
1.概念
字典树又叫单词查找树,前缀树,是一种树状结构,经常被用于搜索引擎单词词频查找。查询效率比哈希表高。字典树一般用来进行两个操作:插入和查询
2.三个基本性质
1.根节点不包含字符,除根节点外每一个节点都只包含一个字符;
2.从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串;
3.每个节点的所有子节点包含的字符都不相同。
3.字典树的创建
字典树总的结构可以简单理解为每一个节点的子节点都为26个隐藏的节点,这些节点经过往字典树加入单词而创建出来如图所示,假设依次往字典树加入字符b , c则下标root下面的b,c节点就被创建出来
4.代码实现
public class Trie {
//单词数量
int count;
//以该字符结尾的单词数量
int predix;
Trie[] nextNode = new Trie[26];
public Trie(){
count = 0;
predix = 0;
}
//加入单词
public static void addWord(Trie root, String str){
if (root