- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第2章线性表总体要求:熟悉线性表的定义熟悉线性表的抽象数据类型描述中各种操作的含义熟练掌握顺序存储线性表的建立、插入、删除和定位算法熟练掌握链式存储线性表的建立、插入、删除和定位算法核心技能点:线性表各种存储结构应用于实际问题的能力扩展技能点:线性表各种存储结构和算法C语言环境下的实现1
第2章线性表相关知识点:C语言数组的知识C语言结构体的知识C语言指针的知识C语言函数的知识C语言类型定义学习重点:熟悉线性表的定义熟悉线性表的抽象数据类型描述中各种操作的含义掌握线性表各种存储结构下算法的实现2
第2章线性表2.1线性表实例及概念在计算机应用中,线性表是一种常见的数据类型。诸如在文件、内存、数据库等管理系统中经常需要对属于线性表的数据类型进行处理。例如,表2.1表示的是一个有关学生情况的信息文件,文件中每个记录对应于一个学生的情况,它由学号、姓名、性别、年龄及籍贯等信息组成。表2.1学生情况信息文件3
第2章线性表在这个实例中我们可以看到,文件中的记录一个接着一个,它们之间存在着一种前后关系。为了研究这种数据结构中元素间的关系,我们可以忽略记录中的具体内容,而只将它看作结构中的一个元素。从数据结构的视点来看,可以将上例中的整个信息文件看作为一个线性表,而文件中的每一个记录可看作为线性表中的一个数据元素。一般,一个线性表是由n个元素组成的有限序列,可记作:L=(a0,a1,…an-1)其中,每个ai都是线性表L的数据元素。数据元素可以是各种各样的。例如,它可以是一个数,一个符号或一个记录等,但同一线性表中的元素必须属于同一种数据对象。4
第2章线性表线性表的结构是通过数据元素之间的相邻关系来体现的。在线性表L中,元素ai-1与ai相邻并位于ai之前,称为ai的直接前驱,而ai+1与ai相邻并位于ai之后,称为ai的直接后继。元素a0称为L的最先元素,除最先元素外,L中的其他元素都有且仅有一个直接前驱;元素an-1称为L的最后元素,除最后元素外,L中的其他元素都有且仅有一个直接后继。元素ai是第i个数据元素,称i为数据元素ai在线性表中的位序。线性表中的元素个数n称为线性表的长度,长度为0的线性表称为空表。为了对线性表及其有关操作的实现方法有比较直观的了解,我们先要考虑线性表的存储方式,其次是有关的操作。在以下几节中我们将围绕上述这些问题展开讨论。5
第2章线性表2.2线性表的存储方式在编制程序之前,我们总是要考虑一下在该程序中涉及到哪些数据,这些数据应该以何种方式存储到计算机中等问题。如果是使用某种程序设计语言来编程,则要考虑在该程序中应定义哪些变量,这些变量的类型是什么或应如何定义等等。那么,对于线性表应采取什么存储方式呢?线性表一般有顺序存储结构与链式存储结构两种存储方式。按顺序存储结构建立起来的线性表称为顺序表,按链式存储结构建立起来的线性表称为线性链表。6
第2章线性表2.2.1线性表的顺序存储结构在计算机内可以用不同的方式来表示线性表,其中最简单和最常用的方式是用一片连续的存储区域,也就是用一组地址连续的存储单元来依次存储线性表的各个元素。线性表(a0,a1,a2,…,ai,…,an-1)的顺序存储结构如图2.1所示,这种存储方式的特点是用存储单元物理位置的相邻来表示相邻元素间的逻辑关系。7图2.1线性表的顺序存储结构示意图
第2章线性表8假设线性表的每个元素需占用s个存储单元,并以第一个存储单元的地址作为数据元素的存储位置,则线性表中第i+1个数据元素的存储位置LOC(ai+1)和第i个数据元素的存储位置LOC(ai)之间满足下列关系:LOC(ai+1)=LOC(ai)+s一般来说,线性表中第i个元素ai的存储地址为LOC(ai)=LOC(a0)+i*s式中,LOC(a0)为线性表的第一个元素a0的存储地址,通常称为线性表的开始地址或基地址。在线性表的顺序存储结构中,应该包括存储数据元素的一个一维数组,取名为list,其长度可取一个适当的最大值MaxSize,另外还应包括一个表示元素个数的整型变量,取其名为size,如图2.2所示。
第2章线性表9使用C语言,我们可以定义以下的记录(结构)类型来表示顺序表,其类型名用SeqList表示。MaxSize线性表可能达到的最大长度;typedefstruct{DataT
您可能关注的文档
最近下载
- 2023年招商银行高级管理人员招聘高频笔试、历年难易点考题(共500题含答案解析)模拟试卷.docx
- 创新创业基础智慧树知到答案章节测试2023年.pdf
- 班组专业化的建立和发展.pptx
- 2024六年级英语上册 Module 2 Unit 2 There are lots of beautiful lakes in China说课稿 外研版(三起).docx
- 新职业英语1酒店英语--Unit-2.ppt VIP
- 招商银行笔试考试题库及答案.pdf
- 河北省公共基础知识真题及答案.docx
- 2023药物政策相关知识考试试题及答案.pdf VIP
- 关于进一步规范我院自学考试助学管理的办法(试行).doc
- 二级医院岗位职责.docx VIP
文档评论(0)