{< katex />}
基础概念与操作 #
字符串定义与表示 #
- 字符编码(ASCII、Unicode、UTF-8)
- 字符串存储结构(数组、链表)
- 字符串长度与空字符串
- 字符串常量与变量
基本字符串操作 #
- 字符串连接
- 子串提取
- 字符串比较
- 字符串复制
- 字符串查找
- 字符串替换
字符串匹配算法 #
单模式匹配 #
- 朴素匹配算法(Brute Force)
- KMP算法(Knuth-Morris-Pratt)
- Boyer-Moore算法
- Sunday算法
- Rabin-Karp算法(哈希匹配)
多模式匹配 #
- Aho-Corasick自动机
- Wu-Manber算法
- 基于后缀树的多模式匹配
字符串搜索与索引 #
前缀搜索 #
- Trie树(字典树)
- 前缀树的应用
- 压缩Trie树
后缀结构 #
- 后缀数组
- 后缀树
- 后缀自动机
- 应用场景与比较
字符串压缩算法 #
无损压缩 #
- 霍夫曼编码
- LZ77算法
- LZ78算法
- LZW算法
- 游程编码
有损压缩(文本特定) #
- 文本摘要算法
- 关键词提取
- 文本简化技术
字符串相似度与距离 #
编辑距离 #
- Levenshtein距离
- Damerau-Levenshtein距离
- 最长公共子序列(LCS)
- 最长公共子串
其他相似度度量 #
- Jaccard相似系数
- 余弦相似度
- Jaro-Winkler距离
- 汉明距离
字符串排序算法 #
基于比较的排序 #
- 字符串快速排序
- 字符串归并排序
- 字符串堆排序
非比较排序 #
- 基数排序(LSD、MSD)
- 桶排序
- 计数排序在字符串中的应用
正则表达式与模式匹配 #
正则表达式基础 #
- 基本语法元素
- 量词与分组
- 字符类与转义
- 锚点与边界
正则表达式引擎 #
- DFA与NFA引擎
- 回溯机制
- 优化技巧
- 性能考虑
字符串解析与处理 #
词法分析 #
- 有限状态自动机
- 标记化(Tokenization)
- 词法分析器生成器
语法分析 #
- 递归下降解析
- LL解析器
- LR解析器
- 语法分析树构建
生物信息学中的字符串算法 #
DNA序列分析 #
- 序列比对算法
- BLAST算法
- Smith-Waterman算法
- Needleman-Wunsch算法
基因组学应用 #
- 基因查找
- 蛋白质序列分析
- 序列组装算法
密码学中的字符串算法 #
哈希函数 #
- MD5算法
- SHA家族算法
- 密码学安全哈希
- 哈希碰撞与抗碰撞性
加密算法中的字符串处理 #
- 对称加密中的字符串操作
- 非对称加密中的字符串编码
- 数字签名与验证
大数据中的字符串处理 #
分布式字符串处理 #
- MapReduce中的字符串操作
- 分布式模式匹配
- 大规模字符串索引
流式字符串处理 #
- 滑动窗口算法
- 流式模式匹配
- 实时字符串分析
字符串算法优化技术 #
空间优化 #
- 压缩数据结构
- 位图技术
- 空间换时间策略
时间优化 #
- 预处理技术
- 缓存友好算法
- 并行字符串处理
实际应用场景 #
文本编辑器 #
- 查找替换功能实现
- 语法高亮算法
- 自动完成功能
搜索引擎 #
- 倒排索引构建
- 查询处理优化
- 拼写纠正算法
数据库系统 #
- 字符串索引结构
- 模糊查询实现
- 全文搜索技术