【暑假】[实用数据结构]前缀树 Trie
来源:互联网 发布:淘宝客域名注册 编辑:程序博客网 时间:2024/06/06 02:08
前缀树Trie
Trie可理解为一个能够快速插入与查询的集合,无论是插入还是查询所需时间都为O(m)
模板如下:
1 const int maxnode = 1000+10; 2 const int sigma_size = 26; 3 4 struct Trie{ 5 int ch[maxnode][sigma_size]; 6 int val[maxnode]; 7 int sz; 8 9 void clear(){ sz=1; memset(ch[0],0,sizeof(ch[0])); }10 int ID(char c){ return c='a'; };11 12 void insert(char* s,int v){ //向Trie中插入 13 int u=0 , n=strlen(s);14 for(int i=0;i<n;i++) { 15 int c=ID(s[i]);16 if(!ch[u][c]){17 memset(ch[sz],0,sizeof(ch[sz])); //初始化子结点组 18 val[sz]=0; //中间结点val=0 19 ch[u][c]= sz++; //建立子结点 20 }21 u=ch[u][c]; //往下走 22 }23 val[u]=v;24 }25 26 int find(char *s){ //查找s是否存在 27 int n=strlen(s);28 int u=0;29 for(int i=0;i<n;i++){30 int c=ID(s[i]);31 if(!ch[u][c]) return false;32 u=ch[u][c];33 }34 return val[u]; //是否为尾 35 }36 };
0 0
- 【暑假】[实用数据结构]前缀树 Trie
- 【暑假】[实用数据结构]KMP
- Trie树trie(前缀)
- 数据结构 前缀树 leetcode 208. Implement Trie (Prefix Tree)
- trie树(前缀树)
- 前缀树,Trie树
- Trie前缀树
- Trie(前缀树)
- Trie(前缀树)
- Trie--前缀树(转)
- trie 前缀树
- 前缀树Trie
- Trie(前缀树)
- 【暑假】[实用数据结构] AC自动机
- 暑假- Trie树-(B - Babelfish)
- leetcode 前缀树(trie树)
- Trie(前缀树,prefix tree)
- Trie树统计单词前缀
- 【暑假】[实用数据结构]UVAlive 3027 Corporative Network
- 【暑假】[实用数据结构]UVAlive 4329 Ping pong
- 【暑假】[实用数据结构]UVa11235 Frequent values
- 阿里二面(3.28)
- Centos查看端口占用情况和开启端口命令
- 【暑假】[实用数据结构]前缀树 Trie
- 【暑假】[实用数据结构]KMP
- 2875: [Noi2012]随机数生成器
- 【暑假】[实用数据结构] AC自动机
- Android 在代码中动态设置字体颜色需要注意的问题
- 【暑假】[实用数据结构]UVAlive 3942 Remember the Word
- 【暑假】[实用数据结构]UVAlive 3026 Period
- 【暑假】[实用数据结构]UVAlive 4670 Dominating Patterns
- 【暑假】[深入动态规划]UVa 1412 Fund Management