hiho7:#1014 : Trie树
来源:互联网 发布:百度搜索引擎优化指南 编辑:程序博客网 时间:2024/06/11 20:39
一:构造数据结构
1,对于每一个节点,需要存放该节点字母char,该节点的26个孩子节点Trie *next[26],过该节点的字母数int;,
2,数据结构构造如下:
struct Trie
{
char ch;
int cnt;
Trie *next[26];
Trie() {
cnt = 0; //用来记住过该节点的单词个数,过一个单词加一;
for (int i = 0; i < 26; i++)
{
next[i] = NULL;
}
}
};
二:插入一个新单词
1,得到单词长度,确定循环次数
2,初始设置头节点为根节点Trie *head = &root;
3,每次遍历分该节点是否有字母,
如果有字母(没有字母),设置当前字母为新的头节点,然后该节点的cnt加一;
如果没有字母,需要新增树,Trie *node = new Trie;
新增树的节点放置该字母;
新增的节点和之前的树枝连起来
三:查询
看该字母位置是否为NULL,是则说明没有字典里没有该单词;
否则依次向下遍历,头结点设为新的字母,head=head->next[idx];
最终前缀数是head->cnt;
0 0
- hiho7:#1014 : Trie树
- hihocoder 1014 Trie树 trie
- [hihoCoder 1014][Trie 树]Trie
- Trie树 Hihocoder 1014 Trie树
- hihocoder-1014 Trie树(Trie树)
- hihoCoder 1014 Trie树 (Trie)
- HiHo 1014 Trie树
- 1014 Trie树
- hihocoder 1014 trie树
- #1014 : Trie树
- ACM #1014 : Trie树
- hihocoder#1014 : Trie树
- hihoCoder #1014 : Trie树
- [HiHoCoder]#1014 : Trie树
- hihoCoder#1014Trie树
- hihoCoder #1014 Trie树
- hihocoder-#1014 : Trie树
- hiho 1014 : Trie树
- Java内存模型--彻底详解
- 蓝桥杯【决赛试题】星期几
- Quicksort
- Linux 进度条
- ZOJ 1883 Tight Words(概率DP)
- hiho7:#1014 : Trie树
- ios 图片加载的两种方式
- mongodb的备份、恢复、迁移、回滚
- http://blog.csdn.net/fhx007/article/details/7902040
- linux下java、Eclipse的安装和配置
- 根据SOCKET套接字获得此套接字绑定的端口号
- 对指针间接赋值的理解(1)
- 小小菜之Cocos2dx游戏开发旅程——Lua动画队列播放
- 导弹系统