Skip to content

Latest commit

 

History

History
54 lines (33 loc) · 814 Bytes

README.md

File metadata and controls

54 lines (33 loc) · 814 Bytes

字符串

字符串在计算机中的应用非常广泛,这里讨论有关字符串的最重要的算法:

  • 排序
  • 查找
    • 单词查找树
    • 子串查找
  • 正则表达式:正则表达式是模式匹配的基础,是一个一般化了的子字符串的查找问题,也是搜索工具grep的核心。
    • 模式匹配
    • grep
  • 数据压缩
    • 赫夫曼树
    • 游程编码

Java中 String实现 参考这里

查找

  • KMP
  • BM

滑动窗口

使用滑动窗口解决字符串子串问题,代码框架

int left = 0, right = 0;

while (right < s.size()) {
    // 增大窗口
    window.add(s[right]);
    right++;

    while (window needs shrink) {
        // 缩小窗口
        window.remove(s[left]);
        left++;
    }
}

参考

《Algorithms》