文章目录 1 串类型的定义 1.1 串 1.2 长度 1.3 空串 1.4 子串 1.5 主串 1.6 位置 1.7 相等 2 串的表示和实现 2.1 定长顺序存储表示 2.2 堆分配存储表示 2.3 串的块链存储表示 2.4 存储密度 3 串的模式匹配算法 3.1 求子串位置的定位函数 Index(S, T, pos) 3.1.1 模式匹配 3.1.2 BF算法 3.1.2.1 算法描述 3.1.2.2 时间复杂度 3.2 模式匹配的一种改进算法(KMP算法) 3.2.1 时间复杂度 3.2.2 改进之处 3.2.3 代码实现 4 串操作应用举例 4.1 文本编辑 4.2 建立词索引表 1 串类型的定义 1.1 串 串(string)(或字符串)是由零个或多个字符组成的有限序列,一般记为 s = ′ a 1 a 2 ⋯ a n ′ ( n ≥ 0 ) s = 'a_1 a_2 \cdots a_n ' (n \ge 0) s=′a1a2⋯an′(n≥0) 其中,s是串的名,用单引号括起来的字符序列是串的值 a i ( 1 ≤ i ≤ n ) a_i(1 \le i \le n)