概念:字典树(TrieTree),是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串,如01字典树)。主要思想是利用字符串的公共前缀来节约存储空间。很好地利用了串的公共前缀,节约了存储空间。字典树主要包含两种操作,插入和查找。
void search(char a[])
{
int l=strlen(a);
int p=1;
for(int i=0;i<l;i++)
{
int ch=a[i]-'a';
if(!tree[p][ch]) tree[p][ch]=++tot;
p=tree[p][ch];
}
ed[p]++;
}
int ans;
int find(char a[])
{
int l=strlen(a);
int p=1;
for(int i=0;i<l;i++)
{
int ch=a[i]-'a';
p=tree[p][ch];
if(p==0)
{
return ans;
}
ans+=ed[p];
}
}
标签:节约,前缀,int,字符串,存储空间,字典
From: https://www.cnblogs.com/-include-lmt/p/18687068