用到tire树;
基础应用
这里讲的挺详细的 点击打开链接
#include
#include
#include
#define max 20
using namespace std;
char w[6];
struct node{
bool a;
int chile[26];
int q;//前缀
node(){
q=false;...
分类:
其他好文 时间:
2014-07-19 08:26:00
阅读次数:
181
这个题需要用到字典树,那么什么是字典树呢?
百度一下就可知道了------>地址是:Trie树
我比较喜欢用数组来写字典树,我在这放了两张图片!
希望能帮助理解!
本题题意:是要求我们将某一个星球的单词翻译成对应的英语,如果有就输出对应的英文,没有就不输出!
思路:这个题先得用某一个星球的单词来建立一个字典树,然后再将对应单词“放”在叶子节点后面,可以将其比喻为有坠子的耳环!然后在翻译时直接查找即可!...
分类:
其他好文 时间:
2014-07-19 02:11:26
阅读次数:
273
字典树:
字典树 即Tire树,以一个空的头结点分若干的分支,来存放数据,虽浪费了大量内存,但是查找速度非常快。
匹配 时间复杂度 O(n) n = strlen(a);
字典树分 3步,建树、插入、查找
当然有时候,建树的选择是很重要的一点,尽量本着少往字典树上添加节点的原则,容易爆!!!
列入下面这题,用m建树,n来查找,即可AC,如果用n来建...
分类:
其他好文 时间:
2014-06-09 23:42:44
阅读次数:
295
链接这个题把病毒分为了两种,一种包含可以覆盖,另一种不可以,需要分别求出包含他们的个数,可以把两种都建在一颗tire树上,在最后求得时候判断一下当前节点是属于哪种字符串,如果是不包含的需要判断一下pre[i]+len[i]
2 #include 3 #include 4 #include 5...
分类:
其他好文 时间:
2014-05-25 11:45:36
阅读次数:
263
链接这个题把病毒分为了两种,一种包含可以覆盖,另一种不可以,需要分别求出包含他们的个数,可以把两种都建在一颗tire树上,在最后求得时候判断一下当前节点是属于哪种字符串,如果是不包含的需要判断一下pre[i]+len[i]
2 #include 3 #include 4 #include 5...
分类:
其他好文 时间:
2014-05-25 11:32:18
阅读次数:
266