(数据结构C)字符串(String)&矩阵压缩

字符串(String)
字符串是一种特殊的线性表,其基本组成单位是单个字符;所以字符串是由0个到多个字符顺序排列所组成的线性表。

字符串(String)//字符数目n称为串的长度//空串就是0个字符//判断两个串是否相等,就看串长度是否相等且每个字符的位置是否都相等//串中任意个数的连续字符组成的子序列称为子串//

一般的操作集:String StrAssign(char c[])//根据c[]生成字符串
String StrCopy(String S)//复制字符串S
int StringCompare(String S1,String S2)//若S1=S2,返回0;若S1<S2,返回-1;否则返回1;
String Concat(String S1,String S2)//连接字符串
Index 查找位置返回//

字符串的表示——定长顺序存储

#define MAXSTRLEN 255//给定一个容量,一个字长255//
typedef unsigned char SString [MAXSTRLEN+1]//0号单元存放串的长度//

字符串的存储空间是固定长度的,实际长度存放于0号单元
0号单元的位置用来存放实际的长度//字符串的堆分配存储//

struct HString{
	char*Ch;//这里必须define申明分配长度,否则此处的Ch为NULL//
	int Length;//串的长度//

字符串的模式匹配算法

这里我们主要讲一下KMP算法//
在这里插入图片描述
这张动图能很好的解释KMP算法怎样去进行匹配的。
矩阵压缩存储
这里我只讲述“三角矩阵”
三角矩阵分为上三角与下三角矩阵。
压缩存储中有分为行压缩存储与列压缩存储。
行压缩存储(下三角)
a00 a01…

a00
a01 a02
a03 a04 a05

同理:列就是列排。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值