字典树trie
来源:互联网 发布:js insertbefore 方法 编辑:程序博客网 时间:2024/06/07 08:23
#define MAX 26typedef struct Trie{Trie *next[MAX];int v; //根据需要变化};Trie *root;void createTrie(char *str){int len = strlen(str);Trie *p = root, *q;for (int i = 0; i<len; ++i){int id = str[i] - '0';if (p->next[id] == NULL){q = (Trie *)malloc(sizeof(Trie));q->v = 1; //初始v==1for (int j = 0; j<MAX; ++j)q->next[j] = NULL;p->next[id] = q;p = p->next[id];}else{p->next[id]->v++;p = p->next[id];}}p->v = -1; //若为结尾,则将v改成-1表示}int findTrie(char *str){int len = strlen(str);Trie *p = root;for (int i = 0; i<len; ++i){int id = str[i] - '0';p = p->next[id];if (p == NULL) //若为空集,表示不存以此为前缀的串return 0;if (p->v == -1) //字符集中已有串是此串的前缀return -1;}return -1; //此串是字符集中某串的前缀}int dealTrie(Trie* T){int i;if (T == NULL)return 0;for (i = 0; i<MAX; i++){if (T->next[i] != NULL)deal(T->next[i]);}free(T);return 0;}
1 1
- 字典树(Trie树)
- Trie树/字典树
- 字典树(Trie树)
- 字典树---->Trie树
- Trie树(字典树)
- TRIE树 --- 字典树
- trie树(字典树)
- 字典树-----Trie树
- 字典树 trie树
- trie树(字典树)
- 字典树-trie树
- Trie树--字典树
- Trie树(字典树)
- 字典树/Trie树
- Trie树、字典树
- 字典树(Trie树)
- 字典树Trie树
- 字典树(Trie树)
- 数组------和为定值的多个数
- JAVA-反射学习(3)
- CI框架中pdo的使用方法
- 【Android 学习】AndroidMainfest.xml详解
- c++开发ocx入门实践三--基于opencv的简易视频播发器ocx
- 字典树trie
- oracle数据库的静默(Quiesce)状态
- 长微博图片制作(无水印)
- Android小技巧
- C++重载重写重定义
- word2vec (一) 简介与训练过程概要
- PageRank Hadoop MapReduce
- hdoj-2099-整除的尾数
- 如何制作纯 ASCII 文本流程图