字典树(指针 找单词)

Posted ww123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字典树(指针 找单词)相关的知识,希望对你有一定的参考价值。

struct node
{
    node *next[28];
    bool is;
    node()
    {
        is=false;
        memset(next,0,sizeof(next));
    }
};
void insert(node *root,char s[])
{
    int i=0;
    node *p=root;
    while(s[i])
    {
        int j=s[i++]-a;
        if(p->next[j]==NULL) p->next[j]=new node();
        p=p->next[j];
    }
    p->is=true;
}
int search(node *root,char s[])
{
    i=0,len=0;
    node *p=root;
    while(s[i])
    {
        int j=s[i++]-a;
        if(p->next[j]==NULL) return 0;  //查不到
        p=p->next[j];
    }
    return 1;
}

 

以上是关于字典树(指针 找单词)的主要内容,如果未能解决你的问题,请参考以下文章

用哈希算法优化字典树空间结构

二叉搜索树

字典树数组模板

trie树(字典树)

HDU1251 统计难题

通过删除字母匹配到字典里最长单词--双指针or自动机预处理?