西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)第二章 线性表

第二章线性表 令线性表 冷顺序表 令链表 冷顺序表与链表的比较
第二章 线性表 ❖ 线性表 ❖ 顺序表 ❖ 链表 ❖ 顺序表与链表的比较

2.1线性表的概念及运算 线性表的逻辑结构 线性表的抽象数据类型定义
2.1 线性表的概念及运算 • 线性表的逻辑结构 • 线性表的抽象数据类型定义

2.1.1线性衰的逻辑结构 定义:n(≥0)个数据元素的有限序列,记作 ●●● ai-1, ais ai+1g..,an 其中;是表中数据元素,n是表长度。 特点: 同一线性表中元素具有相同特性。 相邻数据元素之间存在序偶关系。 除第一个元素外,其他每一个元素有一个且仅 有一个直接前驱。 除最后一个元素外,其他每一个元素有 个且仅有一个直接后继
2.1.1 线性表的逻辑结构 定义: n(0)个数据元素的有限序列,记作 (a1 , …ai-1 , ai , ai+1 ,…, an) 其中,ai 是表中数据元素,n 是表长度。 特点: ◼ 同一线性表中元素具有相同特性。 ◼ 相邻数据元素之间存在序偶关系。 ◼ 除第一个元素外,其他每一个元素有一个且仅 有一个直接前驱。 ◼ 除最后一个元素外,其他每一个元素有 一个且仅有一个直接后继

2.1.2线性表的抽隶数据类烈定义 ADT LinearList( 数据元素:D={a|a∈Do,i=1,2,,n,n≥0,D为某一数据对象} 关系:S={a1a11>|a,a11∈Do,i=-1,2,…,n1} 基本操作: (1 InitList (l) (2) Destroy List(L) (3)ClearList(L (4 Empty List (L) (5) ListLength(L) (6) Locate(L, e) (7) GetData( (8) InsList(, i, e) (9) DelList(L, i, &e) 3 ADT LinearList
2.1.2 线性表的抽象数据类型定义 ADT LinearList{ 数据元素:D={ai | ai∈D0 , i=1, 2, …,n, n≥0 , D0为某一数据对象} 关系:S={ | ai , ai+1∈D0,i=1, 2, …, n-1} 基本操作: (1) InitList(L (2) DestroyList(L) (3) ClearList(L) (4) EmptyList(L (5) ListLength(L (6) Locate(L, e) (7) GetData(L, i) (8) InsList(L, i, e) (9) DelList(L, i, &e) } ADT LinearList

操作 操作前提 操作结果 InitList (L) L为未初始化线性表 将L初始化为空表 Destroylist()|线性表L已存在 将L销毁 ClearList(L 线性表L已存在 将表L置为空表 Emptylist(L)|线性表L已存在 如果L为空表则返回真,否则返 回假 Listlength(L)|线性表L已存在 如果L为空表则返回0,否则返 回表中的元素个数 如果L中存在元素e,则将“当前指 Locate( l e 表L已存在,e为合法元素值针”指向元素e所在位置并返回真, 否则返回假 表存在,且i值合法,即返回线性表L中第i个元素的值 GetData ( ly 1≤i≤ Listlength(L) Insist(,i,e)/表已存在,e为合法元素值在中第i个位置插入新的数据元 且1≤i≤ Listlength(L)+1素e,L的长度加1 Delist(,,e)表L已存在且非空, 删除L的第i个数据元素,并用e 1≤i≤ ListLength(L) 返回其值,L的长度减1
操作 操作前提 操作结果 InitList(L L为未初始化线性表 将L初始化为空表 DestroyList(L) 线性表L已存在 将L销毁 ClearList(L) 线性表L已存在 将表L置为空表 EmptyList(L) 线性表L已存在 如果L为空表则返回真, 否则返 回假 ListLength(L) 线性表L已存在 如果L为空表则返回0, 否则返 回表中的元素个数 Locate(L, e) 表L已存在, e为合法元素值 如果L中存在元素e, 则将“当前指 针”指向元素e所在位置并返回真, 否则返回假 GetData(L, i) 表L存在, 且i值合法,即 1≤i≤ListLength(L) 返回线性表L中第i个元素的值 InsList(L, i, e) 表L已存在,e为合法元素值 且1≤i≤ListLength(L)+1 在L中第i个位置插入新的数据元 素e,L的长度加1 DelList(L, i, &e) 表L已存在且非空, 1≤i≤ListLength(L) 删除L的第i个数据元素, 并用e 返回其值, L的长度减1

2.2线性表的顺序存储 线性表的顺序存储结构 线性表顺序存储结构上的基本运算
2.2 线性表的顺序存储 • 线性表的顺序存储结构 • 线性表顺序存储结构上的基本运算

2.2.1线性表的顺序存储结构 定义:用一组地址连续的存储单元依次存储 线性表中的各个元素。 顺序表 存储结构:数组。 特点:线性表的顺序存储方式。 存取方式:顺序存取 012345 458990674078 内存中连续分布相同大小 的存储单元,依靠存储位 顺序存储结构示意图 置的物理相邻来体现线性 表元素的逻辑关系
2.2.1 线性表的顺序存储结构 定义:用一组地址连续的存储单元依次存储 线性表中的各个元素。 存储结构:数组。 特点:线性表的顺序存储方式。 存取方式:顺序存取 45 89 90 67 40 78 0 1 2 3 4 5 顺序存储结构示意图 内存中连续分布相同大小 的存储单元,依靠存储位 置的物理相邻来体现线性 表元素的逻辑关系 顺序表

顺序表的存储方式: LOC(a1)=LOC(a1)+1为每个元素所占 存储空间大小 LOC(a =loC(a,+(i-1)*L 2 ●●● ●。● ●●● ●。●● a, a aa+ a+(i-1) a+(m-1)“ille
顺序表的存储方式: LOC(a i+1) = LOC( a i ) + l LOC(a i ) = LOC(a1 ) + (i-1) * l a1 a2 … a i … … … an 1 2 … i … … … n a a+l … a+(i-1)*l … … … a+(n-1)*l idle l 为每个元素所占 存储空间大小

顺序表( Seqlist)的类型定义 # define maXsize100/最大允许长度 typedef int Elem Type typedef struct t Elem Type elem [ MAXSIZE;存储空间 int last;∥/记录线性表中最后一个元素在数组 /elem中的位置(下标值),空表置为1 ISeqlist
顺序表(SeqList)的类型定义 #define MAXSIZE 100 //最大允许长度 typedef int ElemType; typedef struct { ElemType elem[MAXSIZE]; //存储空间 int last; //记录线性表中最后一个元素在数组 //elem[]中的位置(下标值),空表置为-1 }SeqList;

2.22线性衰顺序存储结构上的基本运算 初始化 查找 插入 删除 求长度
2.2.2 线性表顺序存储结构上的基本运算 • 初始化 • 查找 • 插入 • 删除 • 求长度
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)复习与补充二.ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)第四章 字符串(String).ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)第六章 树和二叉树.ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)第九章 查找.ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)第五章 数组和广义表.ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)第五章 数组和广义表.ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)第九章 内部排序.ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)第三章 栈和队列.ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)第七章 图.ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(PPT课件讲稿)复习与补充一.ppt
- 《大学计算机基础教程》课程教学资源:工资表数据清单5.xls
- 《大学计算机基础教程》课程教学资源:工资表数据清单4.xls
- 《大学计算机基础教程》课程教学资源:工资表数据清单3.xls
- 《大学计算机基础教程》课程教学资源:工资表数据清单2.xls
- 《大学计算机基础教程》课程教学资源:工资表数据清单1.xls
- 《大学计算机基础教程》课程教学资源:工资表数据清单.xls
- 《大学计算机基础教程》课程教学资源:商品销售统计表.xls
- 《大学计算机基础》课程教学资源:“公式”工具栏和公式输入框.doc
- 《大学计算机基础》课程教学资源(PPT课件讲稿)第9章 软件开发与信息处理技术.ppt
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)练习与解答.doc
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)第1章练习题.doc
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)第2章练习题.doc
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)第3章练习题.doc
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)第4章练习题.doc
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)第5章练习题.doc
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)第6章练习题.doc
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)第7章练习题.doc
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)第8章练习题.doc
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)第9章练习题.doc
- 西安电子科技大学出版社:《算法与数据结构》课程教学资源(练习题)数组(实例).doc
- 南开大学:2008版南开100题二级C语言上机考试习题集答案(编程题).doc
- 南开大学:《C语言程序100题(附程序答案)》试上机模拟题(一).doc
- 南开大学:《C语言程序100题(附程序答案)》上机100题库(上机题抽自这里面).doc
- 南开大学:《C语言程序100题(附程序答案)》二级C语言上机改错100题.doc
- 南开大学:《C语言程序100题(附程序答案)》试上机模拟题.doc
- 《C语言程序设计基础教程》教学资源(PPT课件讲稿)第7章 数组.ppt
- 《C语言程序设计基础教程》教学资源(PPT课件讲稿)第10章 文件.ppt
- 《C语言程序设计基础教程》教学资源(PPT课件讲稿)第9章 结构.ppt
- 《C语言程序设计基础教程》教学资源(PPT课件讲稿)第4章 分支结构.ppt