数据结构ppt课件第2章线性表A.ppt
《数据结构ppt课件第2章线性表A.ppt》由会员分享,可在线阅读,更多相关《数据结构ppt课件第2章线性表A.ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、上堂课上堂课要点回顾要点回顾数据结构课程数据结构课程涉及数学、计算机硬件和计涉及数学、计算机硬件和计算机软件算机软件数据结构定义数据结构定义指互相有关联的数据元素的指互相有关联的数据元素的集合,用集合,用D_S=(D,S)表示。数据结构内容数据结构内容数据的逻辑结构、存储结构数据的逻辑结构、存储结构和运算和运算算法效率指标算法效率指标时间效率和空间效率时间效率和空间效率1数据结构课程的内容数据结构课程的内容逻辑结构唯一逻辑结构唯一存储结构不唯一存储结构不唯一运算的实现依赖运算的实现依赖于存储结构于存储结构2近近3周周上课上课内容内容第第2 2章章 线性表线性表第第3 3章章 栈和队列栈和队列第
2、第4 4章章 串串第第5 5章章 数组和广义表数组和广义表线性结构线性结构若若结结构构是是非非空空有有限限集集,则则有有且且仅仅有有一一个个开开始始结结点点和和一一个个终终端端结结点点,并并且且所所有有结结点点都都最最多多只只有有一一个个直接前趋和一个直接后继。直接前趋和一个直接后继。可表示为可表示为:(:(a1,a2,an)线性结构的定义:线性结构的定义:(逻辑、存储(逻辑、存储和运算)和运算)3第二章第二章 线性表线性表 学习指南学习指南【学习目标学习目标】1.了解线性表的逻辑结构特性是数据元素之间存在着线性关系,在计算机中表示这种关系的两类不同的存储结构是顺序存储结构和链式存储结构。用前
3、者表示的线性表简称为顺序表顺序表,用后者表示的线性表简称为链表链表。2.熟练掌握这两类存储结构的描述方法以及线性表的基本操作在这两种存储结构上的实现。3.能够从时间和空间复杂度的角度综合比较线性表两种存储结构的不同特点及其适用场合。4.结合线性表类型的定义增强对抽象数据类型的理解。4【重点和难点重点和难点】链表是本章的重点和难点。扎实的指针操作针操作和内内存动态分配存动态分配的编程技术是学好本章的基本要求,分清链表中指针 p 和结点*p 之间的对应关系,区分链表中的头结点、头指针和首元结点的不同所指以及循环链表、双向链表的特点等。【知识点知识点】线性表、顺序表、链表【学习指南学习指南】本章建议
4、完成的算法设计题为:2.11,2.21,2.19,2.22,2.24,2.27,2.28,2.38 第二章第二章 线性表线性表 学习指南学习指南(续)5线性结构的特点:线性结构的特点:只有一个首结点和尾结点;只有一个首结点和尾结点;除除首首尾尾结结点点外外,其其他他结结点点只只有有一一个个直直接接前前驱驱和和一一个直接后继。个直接后继。线性结构表达式:(线性结构表达式:(a1,a2,an)线性结构包括线性表、堆栈、队列、字符串、数线性结构包括线性表、堆栈、队列、字符串、数组等等,其中,最典型、最常用的是组等等,其中,最典型、最常用的是-线性表线性表简言之,线性结构反映结点间的逻辑关系是简言之,
5、线性结构反映结点间的逻辑关系是一对一一对一的的见见第第2章章6第二章第二章线性表线性表2.1 2.1 线性表的类型定义线性表的类型定义2.2 2.2 线性表的顺序表示和实现线性表的顺序表示和实现2.3 2.3 线性表的链式表示和实现线性表的链式表示和实现 2.3.1 2.3.1 线性链表线性链表 2.3.2 2.3.2 循环链表循环链表 2.3.3 2.3.3 双向链表双向链表 2.4 2.4 一元多项式的表示及相加一元多项式的表示及相加7线性表:线性表:由一组数据组成,线性表或者是一个空表,由一组数据组成,线性表或者是一个空表,或者可以写成(或者可以写成(a a1 1,a,a2 2,a ai
6、 i,a,an n),其中其中a ai i是取自某个是取自某个集合集合S S的元素。当的元素。当1in1in时,数据元素时,数据元素a ai-1i-1称为数据元素称为数据元素a ai i的直接前驱,而称的直接前驱,而称a ai+1i+1为为a ai i的直接后继。线性表中数的直接后继。线性表中数据元素的个数称为该线性表的长度。据元素的个数称为该线性表的长度。2.1线性表的类型定义线性表的类型定义8(a1,a2,ai-1,ai,ai1,,an)1.线性表的定义:线性表的定义:用数据元素的有限序列表示用数据元素的有限序列表示n=0时称为时称为数据元素数据元素线性起点线性起点ai的直接前趋的直接前趋
7、ai的直接后继的直接后继下标,下标,是元素的是元素的序号,表示元素序号,表示元素在表中的位置在表中的位置n为元素总个为元素总个数,即表长数,即表长空表空表线性终点线性终点9形式化定义:形式化定义:Linearlist=(D,R)其中:其中:D0为某个数据对象的集合为某个数据对象的集合N为线性表长度为线性表长度10线性表的主要操作 初始化 求长度 取元素 定位 插入 删除11对线性表可进行如下基本运算:对线性表可进行如下基本运算:InitList(&LInitList(&L):构造一个空的线性表构造一个空的线性表L L。ListLength(&LListLength(&L):返回返回L L数据元
8、素的个数。数据元素的个数。GetElem(L,i,&eGetElem(L,i,&e):用用e e返回返回L L中第中第i i个数据元素的值。个数据元素的值。ListInsert(&L,i,eListInsert(&L,i,e):在在L L中第中第i i个位置前插入新的数据元素个位置前插入新的数据元素e e,L L的长度加的长度加1 1。ListDelete(&L,i,&eListDelete(&L,i,&e):删去删去L L中第中第i i个元素,用个元素,用e e返回其值,返回其值,L L的长度减的长度减1 1。PriorElem(L,cur_e,&pre_ePriorElem(L,cur_e
9、,&pre_e):用用pre_epre_e返回数据元素返回数据元素cur_ecur_e的前驱,如果存在的前驱,如果存在的话。的话。NextElem(L,cur_e,&next_eNextElem(L,cur_e,&next_e):用用next_enext_e返回数据元素返回数据元素cur_ecur_e的后继,如果存在的后继,如果存在的话。的话。LocateElem(L,e,compareLocateElem(L,e,compare()():返回返回L L中第一个与中第一个与e e满足关系满足关系compare()compare()的数据元的数据元素的位序。素的位序。0 0表示这种元素不存在。表
10、示这种元素不存在。12例例1分析分析26个英文字母组成的英文表个英文字母组成的英文表(A,B,C,D,Z)学号学号姓名姓名性别性别年龄年龄班级班级2001011810205于春梅于春梅女女182001级电信级电信016班班2001011810260何仕鹏何仕鹏男男182001级电信级电信017班班2001011810284王王爽爽女女182001级通信级通信011班班2001011810360王亚武王亚武男男182001级通信级通信012班班:例例2分析学生情况登记表分析学生情况登记表数据元素都是记录数据元素都是记录;元素间关系是线性元素间关系是线性数据元素都是字母数据元素都是字母;元素间关系
11、是线性元素间关系是线性同一线性表中的元素必定具有相同特性同一线性表中的元素必定具有相同特性13例3、学生健康情况登记表如下:姓 名学 号性 别年龄 健康情况王小林790631 男 18 健康陈 红790632 女 20 一般刘建平790633 男 21 健康张立立790634 男 17 神经衰弱.14例4、一副扑克的点数 (2,3,4,J,Q,K,A)15从以上例子可看出线性表的逻辑特征是:从以上例子可看出线性表的逻辑特征是:在非空的线性表,有且仅有一个开始结点在非空的线性表,有且仅有一个开始结点a a1 1,它它没有直接前趋,而仅有一个直接后继没有直接前趋,而仅有一个直接后继a a2 2;有
12、且仅有一个终端结点有且仅有一个终端结点a an n,它没有直接后继,而它没有直接后继,而仅有一个直接前趋仅有一个直接前趋a a n-1n-1;其余的内部结点其余的内部结点a ai i(2in-1)(2in-1)都有且仅有一个都有且仅有一个直接前趋直接前趋a a i-1i-1和一个直接后继和一个直接后继a a i+1i+1。16 线性表是一种典型的线性结构。线性表是一种典型的线性结构。数据的运算是定义在逻辑结构上的,而运算数据的运算是定义在逻辑结构上的,而运算的具体实现则是在存储结构上进行的。的具体实现则是在存储结构上进行的。抽象数据类型的定义为:抽象数据类型的定义为:P P191917 算法2
13、.1例2-1 利用两个线性表LA和LB分别表示两个集合A和B,现要求一个新的集合A=AB。void union(List&La,List Lb)La-len=ListLength(La);Lb-len=ListLength(Lb);for(I=1;I=Lb-len;I+)GetElem(Lb,I,e);if(!LocateElem(La,e,equal)ListInsert(La,+La-len,e)/for 18 算法2.2 p21例2-2 巳知线性表LA和线性表LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的元素仍按值非递减有序排列。此问题的算法如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 ppt 课件 线性
限制150内