Trie模板

来源:互联网 发布:淘宝回购率 编辑:程序博客网 时间:2024/05/16 09:37

Trie可利用利用公共前缀存储若干长度较短(长度为10左右)的字符串,查找为O(n),可判断字符串出现的次数(存在性,查找不到说明不存在)。

模板

struct node{int num, //num可记录字符串出现的次数,也可以是一个字符串指针 next[26];}trie[wordnum*perwordlength];void insert(int point){int len=strlen(sh), p=1;for(int i=0; i<len; i++){int t=str[i]-'a';if(trie[p].next[t]==0){tot++;trie[p].next[t]=tot;p=trie[p].next[t];trie[p].num=0;}else{p=trie[p].next[t];}}trie[p].num=point;}int find(){int p=1, len=strlen(str);for(int i=0; i<len; i++){int t=str[i]-'a';if(trie[p].next[t]==0)return 0;p=trie[p].next[t];}return trie[p].num;}


0 0