第2章-线性表

第2章-线性表

ID:44952199

大小:551.50 KB

页数:107页

时间:2019-11-05

第2章-线性表_第1页
第2章-线性表_第2页
第2章-线性表_第3页
第2章-线性表_第4页
第2章-线性表_第5页
资源描述:

《第2章-线性表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、上节课内容回顾数据结构、抽象数据类型数据的逻辑结构数据的存储结构定义其上的运算集合线性结构(线性表、栈、队列、字符串、数组、广义表)非线性结构顺序存储非顺序存储7/15/20211第2章线性表2.1线性表的概念及运算2.2线性表的顺序存储2.3线性表的链式存储2.4一元多项式的表示及相加2.5顺序表和链表的比较7/15/202122.1线性表的概念及运算2.1.1线性表的逻辑结构2.1.2线性表的抽象数据类型定义7/15/202132.1.1线性表的逻辑结构线性表(LinearList)是由n(n≥0)个类型相同的数据元素a1,a2,…,an组成的有限序列,记做(a1,a

2、2,…,ai-1,ai,ai+1,…,an)。数据元素之间是一对一的关系,即每个数据元素最多有一个直接前驱和一个直接后继。线性表的逻辑结构图为:7/15/20214线性表的特点同一性:线性表由同类数据元素组成,每一个ai必须属于同一数据对象。有穷性:线性表由有限个数据元素组成,表长度就是表中数据元素的个数。有序性:线性表中相邻数据元素之间存在着序偶关系。7/15/20215线性表举例A=(a1,a2,a3,......,an)99001张华女17……99002李军男18……99003王小明男17…………学号姓名性别年龄其他99050刘末女19……

3、a1a2a3··a50数据文件:a1a2a3a4,a5a6数列:(25,12,78,34,100,88)a1a2a3……a24,a25a26字母表:(‘A’,‘B’,‘C’,……,‘X’,‘Y’,‘Z’)7/15/202162.1.2抽象数据类型定义ADT{数据对象:<数据对象的定义>结构关系:<结构关系的定义>基本操作:<基本操作的定义>}ADT基本操作的定义格式为:<操作名称>(参数表)操作前提:<操作前提描述>操作结果:<操作结果描述>7/15/20217线性表的抽象数据类型定义ADTLinearList{数据元素:D={ai

4、ai∈D0,i

5、=1,2,…,nn≥0,D0为某一数据对象}结构关系:S={

6、ai,ai+1∈D0,i=1,2,…,n-1}基本操作:(1)InitList(L)操作前提:L为未初始化线性表。操作结果:将L初始化为空表。(2)DestroyList(L)操作前提:线性表L已存在。操作结果:将L销毁。(3)ClearList(L)操作前提:线性表L已存在。操作结果:将表L置为空表。(4)ListLength(L)操作前提:线性表L已存在。操作结果:L为空返回0,否则返回表中数据元素的个数。………}ADTLinearList7/15/202182.2线性表的顺序存储2.2.

7、1线性表的顺序存储结构2.2.2线性表顺序存储结构上的基本运算7/15/202192.2.1顺序存储结构的定义线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素,使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系。采用顺序存储结构的线性表通常称为顺序表。假设线性表中每个元素占k个单元,第一个元素的地址为loc(a1),则第i个元素的地址为:loc(ai)=loc(a1)+(i-1)×k7/15/202110顺序存储结构示意图存储地址内存空间状态逻辑地址Loc(a1)a11

8、Loc(a1)+(2-1)ka22………loc(a1)+(i-1)kaii………loc(a1)+(n-1)kann...loc(a1)+(maxlen-1)k空闲7/15/202111顺序存储结构的C语言定义#definemaxsize=线性表可能达到的最大长度;typedefstruct{ElemTypeelem[maxsize];/*线性表占用的数组空间*/intlast;/*记录线性表中最后一个元素在数组elem[]中的位置(下标值),空表置为-1*/}SeqList;注意区分元素的序号和数组的下标,如a1的序号为1,而其对应的数组下标为0。7/15/2021122

9、.2.2线性表顺序存储结构的基本运算线性表的基本运算:查找操作插入操作删除操作顺序表合并算法线性表顺序存储结构的优缺点分析7/15/202113查找操作线性表的两种基本查找运算按序号查找GetData(L,i):要求查找线性表L中第i个数据元素,其结果是L.elem[i-1]。按内容查找Locate(L,e):要求查找线性表L中与给定值e相等的数据元素,其结果是:若在表L中找到与e相等的元素,则返回该元素在表中的序号;若找不到,则返回一个“空序号”,如-1。线性表的查找运算算法描述为:7/15/202114线性表的查找运算in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。