ARTS (第15周)
触类旁通。
很多结构都是另一个结构引申和优化出来的。
本周:
AC自动机、SUNDAY算法、贪心算法小练习。
Algorithm 算法
AC自动机
基于trie树构建一个类似KMP算法失效函数的失效指针,当进行树结构的匹配失败的时候,就通过失效指针进行快速跳转。
1 | package search; |
SUNDAY字符串搜索算法
和BM KMP等算法类似,都是先构建出一些辅助的数组来加块匹配,
这个算法的简易来说就是将主串和模式串对齐,从前开始匹配到最后 如果不匹配,就取主串后面的那个字符。
去辅助数组里查找对应字符是否存在,存在则进行相应的跳跃。不存在则跳过模式串长度+1。以此达到快速匹配的效果。
1 | package search; |
贪心算法小练习题
这是算法专栏里作者提供的3道小练习题。
1 | package greed; |
Review 英文文章
kafka的介绍(引导)
Tip 技巧
极客时间的专栏《数据结构与算法之美》
本周学习了该专栏中的35-37篇
内容如下:
TRIE树:又称单词查找树,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。
AC自动机:基于trie树构建一个类似KMP算法失效函数的失效指针,当进行树结构的匹配失败的时候,就通过失效指针进行快速跳转。
贪心算法:贪心算法的核心思想就是每次选择都选择对于当前来说是最好的选择。但是这样选择的最终结果不一定是最好的。