第四章、串

4.1.1_串的定义和基本操作

串的定义

串VS线性表

串的基本操作

串的比较操作

字符集编码


拓展 :乱码问题

思维导图

4.1.2_串的存储结构

串的顺序存储

  • 使用动态数组malloc实现,在堆分配存储)需要手动free进行空间回收,而如果用静态数组实现,这片分配的空间是会由系统自动回收,当函数执行结束后,这片空间就会被自动回收

  • 方案三的缺点 :如果要多次访问串的长度length,不方便,每次都要重新遍历

  • 方案二的缺点 :字符串长度不能超过255,否则ch[0]就不能表示这么多数字

串的链式存储

基本操作的实现



思维导图

4.2.1_串的朴素模式匹配算法

什么是字符串的模式匹配



朴素模式匹配算法






思维导图

4.2.2_KMP算法

朴素模式匹配算法优化思路



代码实现

KMP算法


朴素模式匹配vsKMP算法

4.2.3_求next数组

求模式串的next数组(手算练习)






4.2.4_KMP算法的进一步优化-nextval数组

KMP算法优化


KMP考点总结

王道计算机考研 数据结构 (串)相关推荐

  1. 王道计算机考研 数据结构 课后编程习题代码(绪论、线性表)

    第二章.线性表 2.2.3 1. 题意 :从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删函数的值,空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行. 思路 :搜索整个顺 ...

  2. 王道计算机考研 数据结构 (排序-上)

    8.1_排序的基本概念 排序算法的评价指标 排序算法的分类 思维导图 8.2.1_插入排序 插入排序 算法实现 算法实现(带哨兵) 算法效率分析 优化-折半插入排序 对链表进行插入排序 思维导图 8. ...

  3. 王道计算机考研 数据结构 (查找-下)

    7.3.1_B树 回顾:二叉查找树(BST) 5叉查找树 如何查找 如何保证查找效率 B树 B树的高度 思维导图 7.3.2_B树的插入删除 B树的插入 B树的删除 如果删除终端结点后低于下限 : 思 ...

  4. 王道计算机考研 数据结构 (查找-上)

    第七章.查找 7.1_查找的基本概念 基本概念 对查找表的常见操作 查找算法的评价指标 思维导图 7.2.1_顺序查找 算法思想 顺序查找的实现 顺序查找的实现(哨兵) 查找效率分析 顺序查找的优化( ...

  5. 王道计算机考研 数据结构 (图-下)

    第六章.图 6.4.1_最小生成树 生成树 最小生成树(最小代价树) Prim算法 Kruskal算法 Prim算法 vs Kruskal算法 Prim算法的实现思想 Kruskal算法的实现思想 思 ...

  6. 王道计算机考研 数据结构 (图-上)

    第六章.图 6.1.1_图的基本概念 图的定义 无向图.有向图 简单图.多重图 顶点的度.入度.出度 顶点-顶点的关系描述 连通图.强连通图 研究图的局部-子图 连通分量 强连通分量 生成树 生成森林 ...

  7. 王道计算机考研 数据结构 (树与二叉树)

    第五章.树与二叉树 5.1.1_树的定义和基本术语 树的基本概念 结点.树的属性描述 有序树vs无序树 树vs森林 思维导图 5.1.2_树的性质 考点1 考点2 考点3 考点4 考点5 考点6 思维 ...

  8. 王道计算机考研 数据结构 (栈和队列)

    第三章.栈和队列 3.1.1_栈的基本概念 栈的定义 栈的基本操作 栈的常考题型 思维导图 3.1.2_栈的顺序存储实现 顺序栈的定义 初始化操作 进栈操作 出栈操作 读栈顶元素操作 另一种方式 这种 ...

  9. 计算机考研数据结构算法模板

    计算机考研数据结构算法模板 前言 临近考研,想给考研党们分享一些比较通用的算法模板,让复习更高效一点.如果备考时间足够长,备考人应该有大量时间刷大量习题,会有自己总结的算法模板,笔者文章参考了王道考研 ...

最新文章

  1. Python底层实现KNN
  2. 重新定位svn地址的方法(windows和linux),svn switch(sw)的帮助信息
  3. 轮播swiper配置选项
  4. Word文档转html并提取标题
  5. 怎么用js调用C#后台方法
  6. 怎么用vnc访问自己内网电脑,同时又是同一个会话?
  7. Redis与Lua详解
  8. [SQL Server]用于压力测试和性能分析的两个支持实用工具[转]
  9. leetcode - 64. 最小路径和
  10. 算法题存档20200627(树)
  11. 【网络安全工程师面试合集】——网络安全基础知识大总结
  12. poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13]
  13. Windows 7 SP1开发完毕 已进入测试阶段
  14. css3径向渐变背景,CSS3的背景渐变gradient
  15. 世界坐标和本地坐标之间的转换
  16. python实现将android手机通讯录vcf文件转化为csv
  17. OpenCV+QT5在Window下的环境配置记录
  18. Zemax操作24--高斯光束的聚焦和传播
  19. jdk8下载及安装(Windows10)
  20. ffmpeg mp4转mov

热门文章

  1. 2003白金一代NBA选秀
  2. 成本中心和内部订单浅析
  3. PP 关于工单领料的总结
  4. ABAP/4 Open SQL
  5. 五一商圈之外,红星商圈再塑长沙商圈第二极
  6. 韩寒:一个产品经理的自我修养
  7. python管道符_Python实现处理管道的方法
  8. vue 事件调用 传参_对vue下点击事件传参和不传参的区别详解
  9. linux 合计文件大小,linux下对符合条件的文件大小和行数做汇总统计的简单命令...
  10. java中有哪几种注释方式_在 Java 中, 有多种注释方法,其中 __________ 适用于单行注释。...