feat(Go-Tool):2020/12/15:添加前缀树工具,实现前缀搜索和字符串搜索功能

This commit is contained in:
Huangzj
2020-12-15 09:49:54 +08:00
parent fa31b23cca
commit 6fed950fa9
5 changed files with 307 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
## 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、搜索前缀匹配的字符串集合(模糊匹配)