字符串在计算机中的应用非常广泛,这里讨论有关字符串的最重要的算法:
- 排序
- 查找
- 单词查找树
- 子串查找
- 正则表达式:正则表达式是模式匹配的基础,是一个一般化了的子字符串的查找问题,也是搜索工具grep的核心。
- 模式匹配
- grep
- 数据压缩
- 赫夫曼树
- 游程编码
- 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》