20 lines
913 B
Markdown
20 lines
913 B
Markdown
|
|
## 1、什么是前缀树
|
||
|
|
参考知乎的解答:[前缀树](https://www.zhihu.com/question/318375802/answer/663596639)
|
||
|
|
|
||
|
|
前缀树在字符串查找起到很重要的作用,它的key都为字符串,能做到高效查询和插入,时间复杂度为O(k),k为字符串长度,缺点是如果大量字符串没有共同前缀时很耗内存。
|
||
|
|
|
||
|
|
|
||
|
|
## 2、前缀树的作用
|
||
|
|
1. 前缀匹配
|
||
|
|
2. 字符串检索
|
||
|
|
|
||
|
|
|
||
|
|
## 3、提供方法
|
||
|
|
1、往前缀树中添加对应的字符串(build模式)
|
||
|
|
2、删除对应的字符串,如果查找不到则直接返回(build模式)
|
||
|
|
3、查找对应的字符串,找到则返回true,没找到则返回false
|
||
|
|
4、遍历前缀树存储的所有字符串
|
||
|
|
5、查找字符串中匹配的子字符串,进行自定义处理
|
||
|
|
6、搜索前缀匹配的字符串集合(精准匹配)
|
||
|
|
7、搜索前缀匹配的字符串集合(模糊匹配)
|