字符串

串是零个或多个字符组成的有序序列

​串长度是串中所包含的字符个数

空串指长度为零的串

​主串是指包含子串的串

子串是指串中任意个连续的字符组成的子序列

顺序串:用数组来存储串中的字符序列

​表示串的长度:

​int BF(char S[ ], char T[ ])

{     

i=0; j=0;       

while (i<S.Length()&&j<T.length())

    {        

if (S[i]==T[j]) 

{i++;   

j++;

         }           

else {             

i=i-j+1;    j=0;    

}}   

if (j>=T.length())  return (i-j);   

     else return -1;

}

KMP算法  (时间复杂度:O(m+n))

主串:在哪里失败在哪里开始

子串:从有开始最大滑动距离

多维数组:线性表中的数据元素可以是线性表,但所有元素的类型相同。

数组是由一组类型相同的数据元素构成的有序集合,每个元素受n(n≥1)个线性关系的约束,并称该数组为 n 维数组。

元素本身可以具有某种结构,属于同一数据类型;

数组是一个具有固定格式和数量的数据集合。 存取:给定一组下标,读出对应的数组元素;修改:给定一组下标,存储或修改与其相对应的数组元素。

存取和修改操作本质上只对应一种操作——寻址。

数组的储存结构:按行优先:先行后列,先存储行号较小的元素,行号相同者先存储列号较小的元素。 

按列优先:先列后行,先存储列号较小的元素,列号相同者先存储行号较小的元素。

特殊矩阵:矩阵中很多值相同的元素并且它们的分布有一定的规律。

稀疏矩阵:矩阵中有很多零元素。

十字链表结点类的定义

template<class T>

class OLNode

{

public:

int row,col;

T element;

OLNode<T>* right,*down;

public:

OLNode(){right=NULL;down=NULL;};

};

广义表:  n ( ³ 0 )个表元素组成的有限序列,记作:

LS = (a0, a1, a2, …, an-1)

 LS是表名,ai是表元素,它可以是表 (称为子表),可以是数据元素(称为原子)。

 n为表的长度。n = 0 的广义表为空表。

长度:广义表LS中的直接元素的个数;

深度:广义表LS中括号的最大嵌套层数。算括号数量

广义表的成分可以是单元素,也可以是有结构的表

线性表是一种特殊的广义表

广义表不一定是线性表,也不一定是线性结构

表头:广义表LS非空时,称第一个元素为LS的表头;

表尾:广义表LS中除表头外其余元素组成的广义表(一定是子表或空)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值