第二章顺序表.ppt
《第二章顺序表.ppt》由会员分享,可在线阅读,更多相关《第二章顺序表.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、*1上章课要点回顾上章课要点回顾数据结构定义数据结构定义数据结构内容数据结构内容算法效率指标算法效率指标指互相有关联的数据元素的集指互相有关联的数据元素的集合,用合,用D_S=(D,S)数据的逻辑结构、存储结构和数据的逻辑结构、存储结构和运算运算时间效率和空间效率时间效率和空间效率2数据结构课程的内容数据结构课程的内容逻辑结构唯一逻辑结构唯一存储结构不唯一存储结构不唯一运算的实现依赖运算的实现依赖于存储结构于存储结构3近近3周周上课上课内容内容第第2 2章章 线性表线性表第第3 3章章 栈和队列栈和队列第第4 4章章 串串第第5 5章章 数组和广义表数组和广义表线性结构线性结构若若结结构构是是
2、非非空空有有限限集集,则则有有且且仅仅有有一一个个开开始始结结点点和和一一个个终终端端结结点点,并并且且所所有有结结点点都都最最多多只只有有一一个个直接前趋和一个直接后继。直接前趋和一个直接后继。可表示为可表示为:(:(a1,a2,an)线性结构的定义:线性结构的定义:(逻辑、存储(逻辑、存储和运算)和运算)4线性结构的特点:线性结构的特点:只有一个首结点和尾结点;只有一个首结点和尾结点;除除首首尾尾结结点点外外,其其他他结结点点只只有有一一个个直直接接前前驱驱和和一一个直接后继。个直接后继。线性结构表达式:(线性结构表达式:(a1,a2,an)线性结构包括线性表、堆栈、队列、字符串、数线性结
3、构包括线性表、堆栈、队列、字符串、数组等等,其中,最典型、最常用的是组等等,其中,最典型、最常用的是-线性表线性表简言之,线性结构反映结点间的逻辑关系是简言之,线性结构反映结点间的逻辑关系是一对一一对一的的见第见第2章章5第第2章章线性表线性表2.1线性表的逻辑结构线性表的逻辑结构2.2线性表的顺序表示和实现线性表的顺序表示和实现2.3线性表的链式表示和实现线性表的链式表示和实现2.4应用举例应用举例(一元多项式的表示及相加)(一元多项式的表示及相加)作业作业6(a1,a2,ai-1,ai,ai1,,an)2.1线性表的类型定义线性表的类型定义1.线性表的定义:线性表的定义:是零个或多个元素的
4、有穷序是零个或多个元素的有穷序列,通常可以表示为:列,通常可以表示为:n=0时称为时称为数据元素数据元素线性起点线性起点ai的直接前趋的直接前趋ai的直接后继的直接后继下标,下标,是元素的是元素的序号,表示元素序号,表示元素在表中的位置在表中的位置n为元素总个为元素总个数,即表长数,即表长空表空表线性终点线性终点线性表的逻辑结构可以用二元组=来表示,来表示,其中K=a0,a1,an-1R=|0in-27例子(1,2,3,4,.,9,10)8数据元素都是数字数据元素都是数字;元素间关系是线性元素间关系是线性9例例2分析分析26个英文字母组成的英文表个英文字母组成的英文表(A,B,C,D,Z)学号
5、学号姓名姓名性别性别年龄年龄班级班级2001011810205于春梅于春梅女女182001级电信级电信016班班2001011810260何仕鹏何仕鹏男男182001级电信级电信017班班2001011810284王王爽爽女女182001级通信级通信011班班2001011810360王亚武王亚武男男182001级通信级通信012班班:例例3分析学生情况登记表分析学生情况登记表数据元素都是记录数据元素都是记录;元素间关系是线性元素间关系是线性数据元素都是字母数据元素都是字母;元素间关系是线性元素间关系是线性同一线性表中的元素必定具有相同特性同一线性表中的元素必定具有相同特性1011121314
6、(a1,a2,ai-1,ai,ai1,,an)这里的数据元素这里的数据元素ai(1in)只是一个只是一个抽象的符号,其具体含义在不同的情抽象的符号,其具体含义在不同的情况下可以不同。况下可以不同。2线性表的特征线性表的特征从线性表的定义可以看出线性表的特征:从线性表的定义可以看出线性表的特征:(1)有有且且仅仅有有一一个个开开始始结结点点(表表头头结结点点)a1,它它没有直接前驱,只有一个直接后继没有直接前驱,只有一个直接后继;(2)有有且且仅仅有有一一个个终终端端结结点点(表表尾尾结结点点)an,它它没没有直接后继,只有一个直接前驱有直接后继,只有一个直接前驱;(3)其它结点都有一个直接前驱
7、和直接后继;其它结点都有一个直接前驱和直接后继;(4)元素之间为一对一的线性关系。)元素之间为一对一的线性关系。线性表是一种典型的线性结构线性表是一种典型的线性结构线线性性表表是是一一种种典典型型的的线线性性结结构构,用用二二元组表示为:元组表示为:linear_list=(A,R)其中其中A=ai 1in,n0,aielemtypeR=rr=1in-1对应的逻辑结构图如图对应的逻辑结构图如图2-1所示。所示。线性表的运算线性表的运算常见线性表的运算有:常见线性表的运算有:1置置空空表表SETNULL(&L)将将线线性性表表L置置成成空表空表2求求长长度度LENGTH(L)求求给给定定线线性性
8、表表L的的长度长度3取取元元素素GET(L,i)若若1ilength(L),则则取取第第i个个位位置置上上的的元元素素,否否则则取取得得的的元元素素为为NULL。4求求直直接接前前趋趋PRI0R(L,X)求求线线性性表表L中中元元素素值值为为X的的直直接接前前趋趋,若若X为为第第一一个个元元素素,前前驱为驱为NULL。5求求直直接接后后继继NEXT(L,X)求求线线性性表表L中中元元素素值值为为X直直接接后后继继,若若X为为最最后一个元素,后继为后一个元素,后继为NULL。6定定位位函函数数LOCATE(L,X)在在线线性性表表L中中查查找找值值为为X的的元元素素位位置置,若若有有多多个个值值
9、为为X,则则以以第第一一个个为为准准,若若没没有有,位置为位置为0。7插插入入INSERT(&L,X,i)在在线线性表性表L中第中第i个位置上插入值为个位置上插入值为X的元素。的元素。8删删除除DELETE(&L,i)删删除除线线性表性表L中第中第i个位置上的元素。个位置上的元素。线性表的抽象数据类型描述线性表的抽象数据类型描述上述这些操作可用抽象数据类型描述为:上述这些操作可用抽象数据类型描述为:ADTLinearlistisData:一一个个线线性性表表L定定义义为为L=(a1,a2,an),当当L=()时时定定义义为一个空表为一个空表operation:voidsetnull(&L)/将
10、线性表将线性表L置成空表置成空表intLength(L)/求给定线性表求给定线性表L的长度的长度elemtypeGet(L,i)/取线性表取线性表L第第i个位置上的元素个位置上的元素elemtypePrior(L,x)/求线性表求线性表L中元素值为中元素值为X的直接前趋的直接前趋elemtypeNext(L,x)/求线性表求线性表L中元素值为中元素值为X的直接后继的直接后继intLocate(L,x)/在线性表在线性表L中查找值为中查找值为X的元素位置的元素位置voidInsert(&L,x,i)/在在线线性性表表L中中第第i个个位位置置上上插插入入值值为为X的元素的元素voidDelete(
11、&L,i)/删除线性表删除线性表L中第中第i个位置上的元素个位置上的元素ENDLinearlist212.2线性表的顺序表示和实现线性表的顺序表示和实现2.2.1顺序表的表示顺序表的表示2.2.2顺序表的实现顺序表的实现2.2.3顺序表的运算效率分析顺序表的运算效率分析本节小结本节小结作作 业业222.2.1顺序表的表示顺序表的表示用用一一组组地地址址连连续续的的存存储储单单元元依依次次存储线性表的元素,可通过存储线性表的元素,可通过数组数组VnVn来实现。来实现。把逻辑上相邻的数据元素存储在物把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。理上相邻的存储单元中的存储结构。线性表
12、的顺序表示又称为线性表的顺序表示又称为顺序存储结构顺序存储结构或或顺序映像顺序映像。顺序存储定义:顺序存储定义:顺序存储方法:顺序存储方法:简言之,逻辑上相邻,物理上也相邻简言之,逻辑上相邻,物理上也相邻23线性表顺序存储特点:线性表顺序存储特点:1.逻辑上相邻的数据元素,其物理上也相邻;逻辑上相邻的数据元素,其物理上也相邻;2.若已知表中首元素在存储器中的位置,则其他元若已知表中首元素在存储器中的位置,则其他元素存放位置亦可求出(素存放位置亦可求出(利用数组下标利用数组下标)。计算方法)。计算方法是(是(参见存储结构示意图参见存储结构示意图):):设首元素设首元素a1的存放地址为的存放地址为
13、LOC(a1)(称为称为首地址首地址),),设每个元素占用存储空间(地址长度)为设每个元素占用存储空间(地址长度)为L字节,字节,则表中任一数据元素的则表中任一数据元素的存放地址存放地址为:为:LOC(ai)=LOC(a1)+L*(i-1)LOC(ai+1)=LOC(ai)+L注意:注意:C C语言中的数组的下标从语言中的数组的下标从0 0开始,开始,即:即:VnVn的有效范围是的有效范围是V0V0Vn-1Vn-124线性表的顺序存储结构示意图线性表的顺序存储结构示意图a a1 1a a2 2a ai ia ai+1i+1a an n 地址地址 内容内容 元素在表中的位序元素在表中的位序1 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 顺序
限制150内