trie
来源:互联网 发布:蘑菇网络词是什么意思 编辑:程序博客网 时间:2024/06/06 07:46
这棵字典树就保存着
从根节点到某特定节点的路径就是对应的字符串。如上图节点编号为红色的点就说明:从根节点到该节点的路径为一个保存了的字符串。
具体实现用
字母一般用编号
然后用一个val数组保存以该点为结尾的字符串的个数,如上图:
有时候可能会有多个相同字符串,所以
建
void buildtrie(int x){ int u=0,m=strlen(str[x]); for(int i=0;i<m;i++) { int v=T(str[x][i]); if(trie[u][v]==0) //开新节点 { trie[u][v]=++se; val[se]=0; memset(trie[se],0,sizeof(trie[se])); } u=trie[u][v]; //接着往下走 } val[u]++;}int main(){ scanf("%d",n); for(int i=0;i<n;i++) { scanf("%s",str[i]); buildtrie(i); } return 0;}
例题:UVALive3942(题解)
阅读全文
1 0
- Trie
- Trie
- trie
- Trie
- Trie
- Trie
- trie
- Trie
- trie
- Trie
- Trie
- Trie
- trie
- Trie
- trie
- Trie
- Trie
- Trie
- 2017年7月4日13:10:38
- es6 Symbol(八)
- pagination bug问题
- VueJs 自定义过滤器使用总结
- 数学建模————统计问题之仿真(四)
- trie
- maven创建父子工程理解
- Scala入门到精通——第十八节 隐式转换与隐式参数(一)
- eclipse使用出现异常An error has occurred.see error log for more details eclipse 解决方案
- VR开发中陀螺仪数据转换
- 基于Python的CGIHTTPServer简单的交互实现
- mac android studio无法打开android device monitor的问题
- c++ 一维数组 求最大值,平均值,中值,方差
- JDBC学习笔记