算法

  1. BF算法: brute force 暴力匹配算法。 O(mn)
  2. RK算法: (Rabin-Karp算法:人名命名) 引入hash算法. 群举 对 主串的所有子串. 与模式串做比较. 重点在于hash算法的优化.
    • 难点:需要设计一个 可以应对各种类型字符串的hash算法.
  3. BM算法(boyer-moore): 性能是KMP的 3-4倍.
1
2
1. 日常开发中 可能很多BF的使用场景. 因为 日常开发中的 主串、模式串 都很短; 并且匹配上就终止. 所以大部分场景 执行效率高很多》
2. Kiss设计原则. 朴素匹配 算法思想简单、实现简单、不容易出错.

主串、 模式串

BM 算法

  • 坏字符规则.
  • 好后缀规则.

BM算法核心思想是,利用模式串本身的特点,在模式串中某个字符与主串不能匹配的时候,将模式串往后多滑动几位,以此来减少不必要的字符比较,提高匹配的效率。BM算法构建的规则有两类,坏字符规则和好后缀规则。好后缀规则可以独立于坏字符规则使用。因为坏字符规则的实现比较耗内存,为了节省内存,我们可以只用好后缀规则来实现BM算法。

KISS(Keep it Simple and Stupid)设计原则。

解决问题方面 组织的培训、团队技能能力的沉淀有提升的地方

代码的质量把控,
上线一个策略需要的支持, 什么流程比较合理.

其实是需要有人可以把控的.

比如 产品那边上线识别模型, 做策略. 有些不知道找谁. 模型怎么调度、需要谁支持. 怎么支持.