Trie树 字典树 模板

来源:互联网 发布:mac finder 打开路径 编辑:程序博客网 时间:2024/05/15 03:00

字典树是保存字典的非常好的手段。

struct node{    node* next[26];  int v;    node(){        v = 1;        for(int i = 0; i < 26; ++i)            next[i] = NULL;    }};struct Trie{    node* root;    Trie(){root = NULL;}    void inserts(char str[]){        int len = strlen(str);        if(!root)            root = new node;        node* now = root;        for(int i = 0; i < len; ++i){            int num = str[i]-'a';            if(now->next[num] == NULL)                now->next[num] = new node;            else                ++((now->next[num])->v);            now = now->next[num];        }    }    int searchs(char str[]){        int len = strlen(str);        node* now = root;        for(int i = 0; i < len; ++i){            int num = str[i]-'a';            if(now->next[num] == NULL)                return 0;            now = now->next[num];        }        return now->v;    }};
0 0
原创粉丝点击