–Trie,又称字典树,是种用于实现字符串快速检索的多叉树结构Tie的每个节点都拥有若干个字符指针,若在插入或检索字符串时扫描到一个字符c就沿着当前节点的c这个字符指针,走向该指针指向的节点。
Tire的字符都体现在树的边上,树的节点只是保存一些额外的信息。
代码
int trie[SIZE][26], tot = 1;
void Insert(char* str) { //插入一个字符串
int len = strlen(str), p=1;
for(intk=0;k<len;k++)
{
int ch = str[k]-‘a’ ;
if (trie[p][ch] ==0) triep[p][ch] =++ tot;
p = trie[p][ch];
}
end[p] = true;
}
bool search(char* str) { // 检索字符串是否存在
int len = strlen(str), p = 1;
for(int k=0;k<len;k++)
{
p = trie[p][str[k]-‘a’];
if (p == 0) return false;
}
return end[p];
}
Trie树
最新推荐文章于 2025-03-09 10:32:18 发布
