第02章 节 线性表 数据结构 (第二版) .pptVIP

第02章 节 线性表 数据结构 (第二版) .ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第02章 节 线性表 数据结构 (第二版) .ppt

第二章 线性表 2.1 线性表及其基本运算 2.2 线性表的顺序存储结构 2.3 线性表的链式存储结构 线性表的逻辑结构、物理结构,以及它们之间的相互关系; 定义与之相适应的运算; 设计相应的算法; 分析算法的效率。 一、线性表(linear_list) 线性表是n个数据元素的有限序列,记为: L=(a1,a2, …,an) 2.1 线性表及其基本运算 数据元素之间的关系是: ai-1领先于ai,ai领先于ai+1。 称ai-1是ai的直接前驱 元素;ai+1是ai的直接后继 元素。 除a1外,每个元素有且仅有一个直接前驱元素, 除an外,每个元素有且仅有一个直接后继元素。 线性表中数据元素的个数n(n=0)称为线性表的长度, 当n=0时,称为空表。 2.1 线性表及其基本运算 线性表是最常用且最简单的一种数据结构, 它的形式化定义为: linear_list=(D,R) 其中,D={ai| ai ∈DO,i=1,2,...,n,n=0} R={N},N={ai-1, ai|ai-1, ai∈D0,i=2,3,...,n} D0为某个数据对象, N是一个序偶的集合,它表示线性表中数据元素之间的相邻关系。 2.1 线性表及其基本运算 二. 基本运算 INITIATE(L) 初始化操作 设定一个空的线性表L LENGTH(L) 求长度函数 值为L中数 据元素的个数 GET(L,i) 取元素函数 1=i=LENGTH(L)时返回L中第i个数据元素,否则为空元素NULL。 i称为该数据元素在L中的位序 PRIOR(L,elm) 求前驱函数 elm为L中的一个数据元素,若它的位序大于1,则函数值为elm前驱,否则为NULL NEXT(L,elm) 求后继函数 若elm的位序小于表长, 则函数值为elm的后继,否则为NULL 2.1 线性表及其基本运算 LOCATE(L,x) 定位函数 给定值x,若x不在表中, 则返回0,否则,返回x在表中第一次出现时的位序 INSERTE(L, i , b)前插操作 在第i个元素之前插入新元素b,i 的取值范围为:1=i=n+1;i =n+1表示在表尾插入, n为表长 DELETE(L,i) 删除操作 删除线性表L中的第i个元素, 1=i=n EMPTY(L) 判空表函数 若L为空表,则返回布尔值“true”,否则返回布尔值“false” CLEAR(L) 表置空操作 将L置为空表 2.2 线性表的顺序存储结构 一、顺序存储结构 用一组地址连续的存储单元依次存储线性表的元素。设线性表的每个元素占用k个存储单元,则第i个元素ai 的存储位置为:Loc(ai)=Loc(a1)+(i-1)*k 其中,Loc(ai)为线性表的起址。 a1 a2 ai an b b+k b+(i-1)k b+(n-1)k 2.2 线性表的顺序存储结构 线性表顺序存储结构的定义为: CONST maxlen=线性表可能达到的最大长度; TYPE sqlisttp=RECORD    elem:ARRAY[1..maxlen] OF elemtp;     last:0..maxlen     END 在上述描述中,线性表的顺序存储结构是一个记录型的结构。 其中,数据域 elem描述了线性表中的DE占用的数组空间, 数组的第i个分量为线性表中第i 个DE的存储映象; 数据域 last指示最后一个DE在数组空间中的位置,也是表长。 2.2 线性表的顺序存储结构 二. 插入和删除操作 1. 插入运算 INSERT(L, i, b) 插入前:L=(a1, ... , ai-1, ai, ... ,an) 插入后:L=(a1, ... , ai-1, b, ai, ... ,an ) 算法思想: ① 进行合法性检查,1=i=n+1; ② 判断线性表是否已满; ③ 将第n个至第i个元素逐一后移一个单元; ④ 在第i个位置处插入新元素; ⑤ 将表的长度加1。 2.2 线性表的顺序存储结构 PROC ins_sqlist(VAR v:sqlisttp;i:integer;b:elemtp); {在顺序存储结构

文档评论(0)

youngyu0329 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档