数据结构与算法丨串

目录

一、概述

1.1 串的概念 

1.2 几个术语 

二、串的表示和实现

2.1 串的顺序存储表示

2.1.1 串初始化

2.1.2 求串长

2.1.3 判断串是否为空

2.1.4 串赋值

2.1.5 串复制

2.1.6 串比较

2.1.7 取子串

2.1.8 串连接 

2.2 串的链式存储表示

三、串的模式匹配

1. 概念 

2. 模式匹配的基本算法(BF 算法)

3. KMP 算法

3.1 next 数组

3.2 KMP 算法

4. Horspool 算法 

4.1 概念

4.2 Horspool 算法 

四、串的插入 

1. 问题引入

2. 思路探析

2.1 借助辅助串

2.2 直接在S1中操作 

3. 具体问题 

3.1 方法一(辅助串)

3.2 方法二(直接操作)

五、串的修改 

1. 问题引入

2. 思路探析

2.1 串的删除

2.2 串的插入 

2.3 串的修改

3. 具体实现 

附:系列文章


一、概述

1.1 串的概念 

串(即字符串)是一种特殊的线性结构,它的数据元素仅由一个字符组成。随着非数值处理的广泛应用,某些应用系统(如字符编辑、文字处理、信息检索、自然语言翻译和事务处理等系统)处理的对象经常是字符串数据。例如,在汇编和高级语言的编译程序中,源程序和目标程序都是字符串数据;在事务处理程序中,顾客的姓名、地址、货物的产地、名称等也是作为字符串处理的。

在不同类型的应用中,所处理的字符串具有不同的特点,要有效地实现字符串的处理,就必须根据不同情况选择合适的存储结构。

1.2 几个术语 

(1)子串:串中任意连续字符组成的子序列称为该串的子串 

(2)主串:包含子串的串称为主串。字符在串

你可能感兴趣的:(C语言数据结构与算法,算法,数据结构,串,模式匹配)