第四章 字符串和多维数组

字符串:

字符串是零个或多个字符组成的有限序列,只包含空格的串称为空格串。串中所包含的字符个数称为串的长度,长度为0的串称为空串。

S是串名,双引号是界定符,不属于串的内容,双引号括起来的部分是串值。

字符串中任意个连续的字符组成的子序列称为该串的子串,包含子串的串称为主串,子串的第一个字符在主串中的序号称为子串在主串的位置。

字符的比较是通过组成串的字符之间的比较来进行。例如S1=ab12cdS2=ab12S3=ab13S2<S1<S3

给定两个字符串st,在主串s中寻找子串t的过程称为模式匹配t称为模式。

其中在匹配成功的情况下有两种极端情况:

1、在最好的情况下,每趟不成功的匹配都发生在模式t的第一个字符。

2、在最坏的情况下,每趟不成功的匹配都发生在模式t的最后一个字符。

注:一般情况下,mn,因此最坏情况下的时间复杂度是on*m

模式匹配算法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;
}

多维数组:

数组是由类型相同的数据元素构成的有序集合,每一个数据元素称为一个数组元素。

数组作为一种数据结构,其特点是数据元素本身可以具有某种结构,但属于同一数据类型。

注:在数组上一般不能执行插入或删除某个数组元素的操作。

对于n(n>2)维数组,一般采用按行优先按列优先两种存储方法。

数组有两种存储的基本思想:先行后列、先列后行

在矩阵中有很多值相同的元素并且它们的分布有一定的规律称为特殊矩阵,或者矩阵中有很多零元素称为稀疏矩阵。

压缩存储的基本思想:1、为多个值相同的元素只分配一个存储空间;2、对零元素不分配存储空间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值