Trie(字典树模板)
2017-03-12 18:20
225 查看
(查找是否纯在前缀)
结构体 Trie
成员函数:
void init() 初始化
void insert(char*str) 插入字符串str
int query(int s) 从s开始查找是否纯在一个字符串是另一个字符串的前缀
结构体 Trie
成员函数:
void init() 初始化
void insert(char*str) 插入字符串str
int query(int s) 从s开始查找是否纯在一个字符串是另一个字符串的前缀
//N 字符集大小 如果是数字为10,如果是字母为26,大小写为52 //AIM 字符集最小字符 struct Trie { struct node { bool flog; //标记单词结尾 int next ; void init() { for(int i=0;i<N;i++) next[i]=-1; flog=false; } }; node p[100005]; int top; void init() { top=1; p[0].init(); } void insert(char *str) //插入字符串 { int pp=0; for(int i=0;str[i];i++) { if(p[pp].next[str[i]-AIM]==-1) { p[pp].next[str[i]-AIM]=top; p[top].init(); top++; } pp=p[pp].next[str[i]-AIM]; } p[pp].flog=true; } int query(int s) //查找 { if(p[s].flog!=0) { for(int i=0;i<N;i++) if(p[s].next[i]!=-1) return false; return true; } bool ans=true; for(int i=0;i<N;i++) { if(p[s].next[i]!=-1) ans=ans&&query(p[s].next[i]); } return ans; } }T;
相关文章推荐
- Trie - 字典树 模板
- 字典树Trie 之 基础模板(插入,查找,删除)
- hdu 1251 (字典树 Trie 模板题)
- Trie Tree (字典树)的简单使用 与 模板。
- 【Trie】Trie字典树模板 静态指针池、数组写法
- [trie]字典树模板
- 字典树(trie)模板
- POJ2001 - 字典树(trie)的模板题
- hdu1251 字典树trie 模板题
- 【Trie(字典树)--模板】学习
- hdu1251 字典树trie 模板题
- 【模板】【字符串】Trie(前缀树、字典树)
- Trie字典树【模板
- 字典树Trie 模板
- 【Trie的模板】例题11 LA3942 Remember the Word(字典树+dp)
- TRIE(字典树)模板
- 字典树模板(详细代码注释)
- 字典树(Trie)
- 字典树(Trie)
- 寒假集训——字典树(模板)