数据结构复习:串与数组知识点详解
需积分: 9 38 浏览量
更新于2024-10-25
收藏 81KB DOC 举报
"这份数据结构复习资料涵盖了第4到第5章的内容,主要涉及串和数组,包括串的模式匹配、数组的存储布局以及广义表的操作等知识点。"
在数据结构中,串是一种基本的数据类型,用于表示一系列字符的序列。在本复习资料中,区分了空串和空白串的概念:空串是指不含任何字符的串,而空白串是由一个或多个空格字符组成的串。此外,介绍了字符串长度的计算方法,如在示例中,字符串"S=“A;/document/Mary.doc”"的长度为20,字符"/"的位置为3。
串的模式匹配是数据结构中的一个重要概念,它涉及到在一个主串(目标串)中查找一个子串(模式)。例如,当目标串为"T=“abccdcdccbaa”",模式为"P=“cdcc”"时,第6次匹配成功。古典(朴素)匹配算法在最坏情况下需要比较的字符总次数为(n-m+1)*m,其中n为主串长度,m为子串长度。
数组是另一种基础数据结构,复习资料讨论了二维数组的存储方式。在给定的例子中,一个6行8列的数组A,每个元素占用6个字节,起始地址为1000。数组的体积(存储量)为288B,末尾元素A57的第一个字节地址为1282。根据存储方式的不同,无论是按行存储还是按列存储,都能计算出特定元素的地址。
数组的存储布局中,考研题目涉及到了以列序为主序的存储方式。例如,数组a[1...60, 1...70],基地址为2048,每个元素占2个存储单元,元素a[32,58]的存储地址可以通过列优先公式计算得出,为8950。
复习资料还提到了稀疏矩阵的存储,通常通过三元素组表来表示,每个结点包含非零元素的行下标、列下标和值。这有助于节省存储空间,特别是在处理大部分元素为零的大矩阵时。
最后,复习资料中展示了广义表的一些基本操作,如GetHead和GetTail,它们用于获取列表的头元素或尾元素。例如,广义表((a,b),(c,d))的头元素是(a,b),其尾元素是(c,d),进一步获取(c,d)的头元素仍为(c,d)。
这份复习资料深入讲解了串的性质与操作、数组的存储布局、稀疏矩阵的表示以及广义表的常见操作,这些都是数据结构学习中的关键点,对于理解和解决问题具有重要意义。
2019-06-09 上传
2011-01-01 上传
2010-07-17 上传
2010-07-17 上传
2014-06-12 上传
2013-05-08 上传
2010-11-01 上传
2011-01-10 上传
2009-12-14 上传
jt_littlesaying
- 粉丝: 0
- 资源: 6
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫