<pre name="code" class="cpp">#include <iostream>
using namespace std;
const int maxn = 26;//26个小写字母或者大写字母,再加上0~9就是72
//定义字典树结构体
typedef struct Trie
{
bool flag;//从根到此是否为一个单词
Trie *next[maxn];//有多少个分支
}Trie;
// 声明一个根,不含任何信息
Trie *root;
//初始化该根
void trie_init()
{
int i;
root = new Trie;
root->flag = false;
for(i=0;i<maxn;i++)
root->next[i] = NULL;
}
// 插入一个字符串
void trie_insert(char *word)
{
//int i = 0;
//while(word[i] != '\0')
Trie *tem = root;
int i;
while(*word != '\0')
{
// cout << "root**" << tem->next[0];
if(tem->next[*word-'a'] == NULL)// 为空才建立
{
Trie *cur = new Trie;
cur->flag = false;
for(i=0;i<maxn;i++)
cur->next[i] = NULL;
字典树Trie 之 基础模板(插入,查找,删除)
最新推荐文章于 2023-07-21 14:56:41 发布
本文介绍了字典树Trie的基础模板,包括如何初始化、插入字符串、查找字符串以及删除操作。Trie是一种节省空间的数据结构,常用于文本词频统计,能快速查询并有效利用字符串公共前缀。代码示例展示了C++实现的Trie节点结构和相关操作。
摘要由CSDN通过智能技术生成