"数据结构课件第四章PPT"
数据结构课件第四章PPT中对串的定义和实现进行了详细的介绍。下面是该章节的知识点总结:
1. 串的定义:串是一种由零个或多个字符组成的有限序列,记为`s=‘a1a2…an’`,其中`s`是串的名,用单引号括起来的字符序列是串的值。`ai(1≤i≤n)`可以是字母、数字或其它字符。
2. 串的基本概念:
* 串的长度:串中字符的数目n。
* 空串(Null string):长度为零的串,用“Ø”表示。
* 子串:串中任意个连续的字符组成的子序列。
* 主串:包含子串的串。
* 位置:称字符在序列中的序号为该字符在串中的位置。
* 子串在主串中的位置则以子串的第一个字符在主串中的位置来表示。
3. 串与线性表的区别:
* 逻辑结构相似:区别仅在于串的数据对象约束为字符集。
* 表示与实现差别很大:线性表以“单个元素”作为操作对象;串以“串的整体”作为操作对象。
4. 串的抽象数据类型定义:
* 数据对象:`D={ai|ai∈CharacterSet,i=1,2…n,n≥0}`
* 数据关系:`R={<ai-1,ai>|ai-1,ai∈D,i=2,3,…,n}`
* 基本操作:
* `StrCompare(S,T)`:比较串S和T的大小。
* `StrAssign(&T,chars)`:将串T的值设为chars。
* `StrCopy(&T,S)`:将串S的值复制给串T。
* `StrEmpty(S)`:判断串S是否为空串。
* `StrLength(S)`:返回串S的长度。
* `ClearString(&S)`:将串S清为空串。
* `Concat(&T,S1,S2)`:将串S1和S2连接起来,并将结果赋值给串T。
* `SubString(&Sub,S,pos,len)`:返回串S的第pos个字符起长度为len的子串。
* `Index(S,T,pos)`:返回串S中与串T值相同的子串第一次出现的位置。
* `Replace(&S,T,V)`:将串S中所有与串T相等的子串替换为串V。
* `StrDelete(&S,pos,len)`:删除串S中第pos个字符起长度为len的子串。
5. 串的模式匹配算法:该章节还对串的模式匹配算法进行了介绍,但不再赘述。
数据结构课件第四章PPT中对串的定义、实现和操作进行了详细的介绍,并且提供了串的抽象数据类型定义和基本操作。