一、字符串:
1、字符串的定义:是零个或多个字符串组成的有限序列,只包含空格的串称为空格串。
2、字符串中任意个连续的字符组成的子序列称为该穿的子串,包含子串的串称为主串,子串的第一个字符咋主串中的序号称为子串在主串中的位置。
3、模式匹配:给定两个字符串S和T,在主串S中寻找子串T的过程称为模式匹配,T为模式。如果匹配成功,返回T在S 中的位置;如果匹配失败,返回0.
4、朴素的模式匹配算法BF:
int BF(char S[ ],char T[ ])
{
i=0;j=0;
while((S[i]!='\0')&&(T[j]!='\0'))
{
if(S[i]==T[j]){i++;j++}
else {i=i-j+1;j=0;}
}
if(T[j]=='\0')return(i-j+1);
else return 0;
}
二、数组:
1、数组的定义:数组是由类型形同的数据元素构成的有序集合,每个数据元素称为一个数组元素,每个元素受n个线性关系的约束,每个元在n个线性关系中的序号称为钙元素的下标,并称该数组为n维数组。
矩阵的压缩存储:
2、特殊矩阵:同时在矩阵中有很多值相同的元素并且他们的分布有一定的规律。
3、稀疏矩阵:矩阵中有很多零元素。
4、三元组表:将稀疏矩阵的非零元素对应的三元组所构成的集合,按行优先的顺序排列成一个线性表,称为三元组表,则稀疏矩阵的压缩存储转化为三元组表的存储。
5、三元组顺序表:采用顺序存储结构存储的三元组表称为三元组顺序表。
6、十字链表:稀疏矩阵的链接存储结构称为十字链表。