Trie树利用字符串的公共前缀降低了查询时间的开销,提高了查询的效率。
字典树的插入,删除和查找都非常简单,用一个一重循环即可。
1. 从根节点开始一次搜索
2. 取得要查找关键词的第一个字母,并根据该字母选择对应的子树并转到该子树继续进行检索
3. 在相应的子树上,取得要查找关键词的第二个字母,并进一步选择对应的子树进行检索
4. 迭代过程...
5. 在某个节点处,关键词的所有字母已被取出,则读取附在该节点上的信息,即完成查找
package algrithm;
public class dictionaryTree2 {
private int SIZE=26;
private TreeNode root;//字典的根
public dictionaryTree2() {
// TODO Auto-generated constructor stub
root=new TreeNode();
}
private class TreeNode
{
private int num; //词频统计
private TreeNode []son;//每一层都是由26字母开头的,即所有的节点
private boolean isWord;//是不是最后一个节点
private