北京理工大学数据结构线性表课件.pptVIP

  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文档。上传文档
查看更多
北京理工大学数据结构线性表课件.ppt

2000年1月25日 北京理工大学 / 2.1 线性表的基本概念 线性表是类型相同的元素有限序列,记作: (a1, ... , ai-1, ai, ai+1, …, an) 线性表特点:在数据元素的非空有限集中 存在唯一的一个被称作“第一个”的数据元素; 存在唯一的一个被称作“最后一个”的数据元素; 除第一个外,集合中的每个数据元素均只有一个前驱; 除最后一个外,集合中的每个数据元素均只有一个后继. 2.1 线性表的基本概念 设 A=(a1, a2, ... , ai-1, ai , ai+1, …, an)是一线性表 1)线性表的数据元素可以是各种各样的,但同一线性表中的元素必须是同一类型的; 2)在表中 ai-1 领先于 ai ,ai 领先于 ai+1,称 ai-1 是 ai 的直接前趋, ai+1 是ai 的直接后继; 3)在线性表中,除第一个元素和最后一个元素之外,其他元素都有且仅有一个直接前趋,有且仅有一个直接后继。线性表是一种线性数据结构; 4)元素的个数 n 称为表的长度,n=0时称为空表; 5)ai 是表的第 i 个元素,称 i 为数据元素 ai 的序号,每个元素在线性表中的位置,仅取决于它的序号。 6)可在表的任意位置进行插入和删除操作。 2.1 线性表的基本概念 对线性表的ADT描述 ADT List { 数据对象: D = { ai | ai ?ElemSet, i=1,…,n,n≥0 } 数据关系: R1 = { ai-1, ai | ai-1,ai ?D, i=2, …,n } 基本操作: InitList (L) 操作结果:构造一个空的线性表L。 DetroyList (L) 初始条件:线性表L已经存在。 操作结果:销毁线性表L。 ...... } ADTList 2.1 线性表的基本概念 对线性表的基本操作 1 初始化操作 InitList (L) 功能:建立空的线性表L; 2 销毁操作 DetroyList (L) 功能:回收为线性表L动态分配的存储空间; 3 置空操作 ClearList (L) 功能:L中已存在,重新将其置成空表; 4 判空操作 ListEmpty (L) 功能:判断线性表L是否为空表,若为空表返回TRUE,否则返回FALSE; 5 求表长操作 ListLength (L) 功能:返回线性表L的表长; 2.1 线性表的基本概念 6 取元素操作:GetElem ( L, i, e) 功能:将线性表L中第 i 个元素赋值给 e; 7 查找操作 LocateElem ( L, e, compare() ) 功能:在线性表 L 中查找与元素e 满足compare()的第 1 个元素,返回该元素在表中的序号(或位置),若表中不存在这样的元素,则返回 0; 8 查找前驱 PriorElem ( L, cur_e, pre_e ) 功能:若 cur_e 是 L 中的数据元素且不是第一个,则用 pre_e 返回它的前驱,否则失败,pre_e无定义。 2.1 线性表的基本概念 9 查找后继 NextElem ( L, cur_e, next_e ) 功能:若 cur_e 是L中的数据元素且不是最后一个,则用next_e返回它的后继,否则失败,next_e无定义。 10 插入操作 ListInsert ( L, i, e ) 功能:在线性表L的第i个元素之前插入1个新元素e; 11 删除操作 ListDelete ( L, i, e ) 功能:删除线性表L的第i个元素,并用 e 返回; 12 遍历操作 ListTraverse ( L,visit( ) ) 功能:依次对线性表L的每个元素调用函数visit()。若visit()失败,则返回 ERROR,否则返回 OK; 2.1 线性表的基本概念 说明 1、基本操作是一种数据结构中最常见的操作,它具有明确的逻辑意义。 2、可以将基本操作看成一个整体,使用基本操作来解决新的问题,设计新的算法。使我们可以在更高的层次上进行抽象,在更高的基础上进行设计。 3、在算法的程序实现的过程中,基本操作需要通过编制公共函数进行具体实现。可以为基本操作建立公共函数库。 2.1 线性表的基本概念 利用基本操作进行算法设计 例2-1:若有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即:线性表中的数据元素即为集合中的成员。现要求一个新的集合:A=A∪B。 问题分析 上述问题可以演绎为:扩大线性表 LA,将存在于线性表LB 中而不存在于线性表 LA 中的数据元素插入到线性表 L

文档评论(0)

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

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档