通过这个图我们很容易查询每个字符串是否出现过,或者其出现的次数;对我来说我感觉这个字典树稍微简单一点;于是就略写了一下这个字典树的博客;其实字典树也可以应用于数字,大写字母,更可怕的是还有汉字(这个我目前没做过相关的题目);只是知道;
这应该是一道比较经典的字典树的题目;就是字符串的统计
#include <iostream>
using namespace std;
const int N = 1e6+10;
int son[N][26],cnt[N],idx;
// idx 表示当前用到的下标;
// son 数组是字典树组,cnt是记录某个节点结束的单词的个数
//下标为0的点,即是空节点,又是根节点
char str[N] ;
void insert(char *str)
{
int p = 0;
for(int i=0;str[i];i++)
{
int u = str[i] - 'a';
//如果当前节点不存在子节点,则为其创建子节点
// idx 表示分配的节点
if(!son[p][u])so