《数据结构(C++)版》之第4章字符串和数组

来源:互联网 发布:怎么更换路由器mac地址 编辑:程序博客网 时间:2024/06/05 09:55
《数据结构(C++)版》之第4章字符串和数组
一、字符串
字符串是零个或多个字符组成的有限序列,只包含空格的字符串称为空格串。串中所包含的字符个数成为串的长度,长度为0的串称为空串。记做“ ”。
字符串中任意连续的字符组成的子序列称为该串的子串,包含子串的串称为主串。子串的第一个字符在主串中的序号称为子串在主串中的位置
字符串的比较是通过组成串的字符之间的比较来进行比较的。
      字符串是数据元素为单个字符的线性表,一般采用顺序存储。一般有三种表示字符串长度的方法:
1、用一个变量来表示字符串的长度;
2、在串尾存储一个不会在字符串中出现的特殊的字符作为字符串的总结字符,例如:在c/c++语言中就是通常采用‘\0’来表示串的结束。通过判断当前字符是否是‘\0’来确定串的结束,以此从而求串的长度。
3、用数组的0号单元来存放串的长度,串的值从数组的1号单元开始存放。
模式匹配
给定两个字符串S和T,在主串S中寻找子串T的过程称为模式匹配。T为模式。本章主要讲解了朴素模式匹配算法和该进的模式匹配算法。
二、数组的定义
数组是由类型相同的数据元素构成的有序集合,每个数据元素成为一个数组元素(简称元素)。一维数组可以看成做一个线性表;二维数组可以看成是线性表的线性表。
在数组上一般只有两种操作:读操作和写操作。前者为给定一组下标,读取相应的数组元素,后者是给定一组下标,存储或修改相应的数组元素。
数组采用顺序存储结构。
二维数组的每个元素含有两个下标,通常须将二维关系映射为一维关系。常用的方法为:按行优先和按列优先。
矩阵的压缩存储
在实际应用中,进场出现一些技术很高的矩阵,同时在矩阵中有很多之相同的元素并且他们的分布有一定的规律,我们将其称之为特殊矩阵
本章主要讲了一下:对称矩阵的压缩存储、三角矩阵的压缩存储、对角矩阵的压缩存储以及稀疏矩阵的压缩存储。
三、本章思维导图

0 0
原创粉丝点击