Trie树学习2
来源:互联网 发布:创建目录 linux 编辑:程序博客网 时间:2024/05/29 17:47
数组实现的Trie树 字符容量有限,可以使用链表实现更为大容量的Trie
#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <vector>#include <map>#include <set>#include <algorithm>#include <cstdlib>#include <list>#include <cmath>using namespace std;#define sigma_size 26#define MAX_LEN 200001struct trie_node{trie_node* next[sigma_size];bool is_terminal;trie_node(){memset(next, 0, sizeof(next));is_terminal = false;}};struct Trie{trie_node* root;int size;int idx(char ch){return ch - 'A';}Trie(){root = new trie_node();size = 1;}void Insert(string str){trie_node* cur = root;int len = str.length();for(int i = 0; i < len; i++){int ch = idx(str[i]);if(cur->next[ch] == NULL){cur->next[ch] = new trie_node();}cur = cur->next[ch];}cur->is_terminal = true; size++;}bool Query(string str){trie_node* cur = root;int len = str.length();for(int i = 0; i < len; i++){int ch = idx(str[i]);if(cur->next[ch] == NULL){return false;}elsecur = cur->next[ch];}if(cur->is_terminal)return true;elsereturn false;}};
0 0
- Trie树学习2
- Trie树与Trie图的学习
- Trie树学习
- Trie 树学习下
- Trie树学习1
- trie树 整理学习
- Trie树学习
- Trie树学习记录
- Trie树的学习
- Trie树学习笔记
- C# 学习笔记:Trie树
- 算法学习之Trie树
- Trie树学习--数据结构一发
- Trie(字典树)的学习
- Trie 字典树2
- trie 树 hipocoder 2
- hiho 2 Trie树
- Trie树(2)
- 回忆自己的大学四年得与失
- 发布iOS应用(xcode5)到App Store(苹果商店) 详细解析
- OC中protocol、category和继承的关系
- CreateProcess使用注意事项
- 移动App该如何保存用户密码
- Trie树学习2
- 几种流行的视频编码比较(入门级别)
- 几个简单解决FC的的方法
- 如临深渊
- web_chp:bookstore.v3基于SSH框架的网上书店
- Scrapy: 爬虫返回403错误
- JAVA中使用Timer,TimerTask轮循数据库,执行定时任务
- git回到上一版本命令
- Search for a Range