考研二战日记第四天——数据结构第四章串

串这一节的知识点不多,需要特别注意的也就是KMP算法。

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

串中任意个连续的字符组成的子序列称为该串的子串。包含子串的串相应的称为主串

只有当两个字符串的长度相等,并且各个对应位置的字符都相等才相等

串的操作

(1)赋值           strcpy(数组名、字符串);

(2)判空           strlen()    strcmp()   

(3)字符串比较     strcmp

(4)求字符串长度   strlen

(5)字符串拷贝     strcpy

(6)字符串连接     strcat

(7)求字符串子串(截取字符串) 

串的表示

(1)定长顺序存储表示:类似线性表的顺序存储结构,用一组地址连续的存储单元存储字符串的字符序列。

(2)堆分配存储表示:这种存储方式特点是:仍一一组连续的存储单元存放字符串序列,但它们的存储空间是在程序执行过程中动态分配而得的。

(3)块链存储表示:和线性表的链式存储类似,也是用链表来保存字符串的值。根据串的特殊,若每个字符占一个结点太小,则采取每个结点可以存放一个也可以存放多个字符。如图所示:图a就是块链存储方式,而图b则过于浪费空间。

串的模式匹配算法

串的内容考察不多,但是仍有算法考察需要注意,所以不光是对知识点的记忆,还需要对算法的理解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值