数据结构线性表.ppt
《数据结构线性表.ppt》由会员分享,可在线阅读,更多相关《数据结构线性表.ppt(80页珍藏版)》请在第壹文秘上搜索。
1、2023-3-21 第第2章章 线性表线性表 2.1 2.1 线性表的概念及运算线性表的概念及运算 2.2 2.2 线性表的顺序存储线性表的顺序存储 2.3 2.3 线性表的链式存储线性表的链式存储 2.4 2.4 一元多项式的表示及相加一元多项式的表示及相加2.5 2.5 顺序表和链表的综合比较顺序表和链表的综合比较 2.6 2.6 总结总结2023-3-222.1 2.1 线性表的概念及运算线性表的概念及运算一、线性表的定义一、线性表的定义线性表线性表(Linear List)(Linear List)是由是由n(nn(n0)0)个类型个类型相同的数据元素组成的有限序列,记做:相同的数据元
2、素组成的有限序列,记做:(a a1 1,a,a2 2, ,,a ai-1i-1,a ai i,a ai+1i+1, ,a an n)2.1.1 2.1.1 线性表的逻辑结构线性表的逻辑结构 2023-3-23线性表的形式定义为:线性表的形式定义为: Linear-list= ( D, R ) 其中其中:D=ai|aiD0, i=1,2,n,n0 R=N N=| ai-1, aiD0, i=2,3n D0为某个数据对象;为某个数据对象;n为表的长度。为表的长度。线性表线性表是一种最简单、最常用的是一种最简单、最常用的数据结构数据结构2023-3-24二、线性表的特点二、线性表的特点同一性:同一性
3、:线性表由同类数据元素组成,每一线性表由同类数据元素组成,每一 个个a ai i必须属于同一数据对象。必须属于同一数据对象。有穷性:有穷性:线性表由有限个数据元素组成,表线性表由有限个数据元素组成,表 长度就是表中数据元素的个数。长度就是表中数据元素的个数。有序性:有序性:线性表中相邻数据元素之间存在着线性表中相邻数据元素之间存在着 序偶关系序偶关系a :表中必存在唯一的一个表中必存在唯一的一个“第一元素第一元素”;表中必存在唯一的一个表中必存在唯一的一个“最后元素最后元素”;除最后元素之外,均有除最后元素之外,均有 唯一的后继唯一的后继;除第一元素之外,均有除第一元素之外,均有 唯一的前驱唯
4、一的前驱。2023-3-252.1.22.1.2线性表的抽象数据类型定义线性表的抽象数据类型定义 ADT LinearList数据元素:数据元素:D=ai|aiD0,i=1,2,n n0,D0为某数据对象为某数据对象关系:关系: | ai, ai+1D0,i=1,2, ,n-1基本操作:基本操作:(1)InitList(L) 操作前提:操作前提:L为未初始化线性表。为未初始化线性表。 操作结果:将操作结果:将L初始化为空表。初始化为空表。(2)DestroyList(L) 操作前提:线性表操作前提:线性表L已存在。已存在。 操作结果:将操作结果:将L销毁。销毁。(3)ClearList(L)
5、操作前提:线性表操作前提:线性表L已存在已存在 。 操作结果:将表操作结果:将表L置为空表。置为空表。 判空表、求表长、查找、插入、删除判空表、求表长、查找、插入、删除 ADT LinearList2023-3-262.2 2.2 线性表的顺序存储线性表的顺序存储 2.2.1 线性表的顺序存储结构线性表的顺序存储结构 线性表线性表的最简单的顺序存储方法是:的最简单的顺序存储方法是: 一、顺序表一、顺序表: 顺序存储顺序存储是以元素在存储器中的相对位置是以元素在存储器中的相对位置表示元素间的逻辑关系。表示元素间的逻辑关系。 用一组地址连续的存储单元,依次存放用一组地址连续的存储单元,依次存放线性
6、表中的数据元素线性表中的数据元素(顺序表)(顺序表): a1 a2 ai-1 ai an2023-3-27LOC(ai) = LOC(a1) + (i-1)k 第一个数据元素第一个数据元素a1的存储位置称线的存储位置称线性表的性表的起始地址起始地址(基地址基地址),所有数据元素所有数据元素的存储位置均取决于的存储位置均取决于a1的存储位置。的存储位置。 LOC(ai) = LOC(ai-1) + k若每个数据元素所占存储长度为若每个数据元素所占存储长度为k,则有:,则有:2023-3-28二、顺序表结构示意图二、顺序表结构示意图存储地址 内存空间状态 逻辑地址 Loc(a1) a11 Loc(
7、a1)+(2-1)k a2 2 loc(a1)+(i-1)k ai i loc(a1)+(n-1)k an n . loc(a1)+(maxlen-1)k 空闲2023-3-29三、顺序表结构的三、顺序表结构的C语言定义语言定义#define maxsize=线性表可能达到的最大长度;线性表可能达到的最大长度;typedef struct ElemType elemmaxsize/* 线性表占用的数组空间线性表占用的数组空间*/ int last; /*记录线性表最后一个元素在数组记录线性表最后一个元素在数组elem 中的位置(下标值),空表置为中的位置(下标值),空表置为-1*/ SeqLi
8、st; 注意区分元素的序号和数组的下标,如注意区分元素的序号和数组的下标,如a a1 1的序号为的序号为1 1,而其对应的数组下标为,而其对应的数组下标为0 0。 2023-3-2102.2.2 线性表顺序存储结构的基本运算线性表顺序存储结构的基本运算 线性表的基本运算线性表的基本运算: 查找操作查找操作 插入操作插入操作 删除操作删除操作 顺序表合并运算顺序表合并运算 顺序表的优缺点分析顺序表的优缺点分析2023-3-211一、查找操作一、查找操作 线性表的两种基本查找运算:线性表的两种基本查找运算:按序号查找按序号查找 GetData(L,i)GetData(L,i):要求查找线性要求查找
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 线性
