5 String
Trie树
定义
字典树,英文名 trie。顾名思义,就是一个像字典一样的树。
引入
如下图:

可以发现,这棵字典树用边来代表字母,而从根结点到树上某一结点的路径就代表了一个字符串。举个例子, 表示的就是字符串 caa
。
trie 的结构非常好懂,我们用 表示结点 的 字符指向的下一个结点,或着说是结点 代表的字符串后面添加一个字符 形成的字符串的结点。( 的取值范围和字符集大小有关,不一定是 。)
有时需要标记插入进 trie 的是哪些字符串,每次插入完成时在这个字符串所代表的节点处打上标记即可。

实现
放一个结构体封装的模板:
应用
检索字符串
字典树最基础的应用——查找一个字符串是否在「字典」中出现过。
题面
给你 个名字串,然后进行 次点名,每次你需要回答「名字不存在」、「第一次点到这个名字」、「已经点过这个名字」之一。
,,所有字符串长度不超过 。
参考代码
例题:
Status
Problem
Tags