网站大量收购独家精品文档,联系QQ:2885784924

第二章 线性表.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 线性表 2.1 线性表 2.2 顺序表 2.3 单链表 2.4 循环单链表 2.5 双向链表 2.6 仿真链表 2.7 面向对象的软件设计方法 本章主要知识点: 线性表的定义,顺序存储结构,链式存储结构 顺序表类的设计方法,顺序表插入和删除操作的实现方法,顺序表插入和删除操作的时间复杂度 单链表类的设计方法,单链表插入和删除操作的实现方法,单链表插入和删除操作的时间复杂度,顺序表和单链表的特点对比 循环单链表和循环双向链表的结构和特点 线性表的引入 非数值计算模型之一--------线性结构模型 (1)抽象数据元素 (2)建立元素之间的关系 (3)抽象基于这个模型的操作(计算) (4)实现计算 (5)应用 (6)评介 线性表的数据元素抽象 线性表的抽象 写成: ( a1 ,a2,…,an) 其特征是: (1)a1无前驱 (2)an无后继 (3)其他任何元素有唯一的前驱和唯一的后继。 即 ai有上述的特征(i=2,…,n)。 2.1 线性表 2.1.1 线性表的定义 如果一个数据元素序列满足: (1)除第一个和最后一个数据元素外,每个数据元素只有一个前驱数据元素和一个后继数据元素; (2)第一个数据元素没有前驱数据元素; (3)最后一个数据元素没有后继数据元素。 则称这样的数据结构为线性结构。 线性表是一种可以在任意位置进行插入和删除数据元素操作的、由n(n ≥ 0)个相同类型数据元素a0, a1, a2, ..., an-1组成的线性结构。 符号描述: (1) 一个有n个数据元素a0, a1, a2, ..., an-1的线性表通常用符号(a0, a1, a2, ..., an-1)表示,其中符号ai(0≤i≤n-1)表示第i个抽象数据元素。空线性表用符号()表示。 (2) 一个线性表可以用一个标识符来命名,如用A表示线性表,则 A=(a1,a2,…,an) 线性表的图形描述 A=(a1,a2,…,an) 线性表中元素的位置是有序的,即第i元素ai一定在第i-1个元素之后,在第i+1个元素之前, ai用符号 其逻辑示意图,如图所示: ? 图 线性表的逻辑示意图 数据集合: 线性表的数据元素集合可以表示为序列{a1, a2, ..., an} 数据元素的关系: R={a1,a2,a2,a3,……,an-1,an} 其中:〈ai,ai+1〉为有序偶队 操作集合 (1)求当前数据元素个数length() (2)插入数据元素insert(i, obj) (3)删除数据元素delete(i) (4)取数据元素getData(i) (5)线性表是否空isEmpty() 线性表的ADT描述 ADT List{ 数据对象:K={ai|ai∈Elemset,i=1,2,…,n≥0} 数据关系:R={ai-1,ai|ai-1,ai∈K,i=2,3…n} 基本操作(p): SetNull(L) /*置空表,其结果是线性表L为空表。*/ Length(L) /*求表的长度,返回线性表L的长度,即元素的个数。*/ Get(L,i) /*取表中的第i(0≤i≤n-1)个元素,返回第i个元素的值或者地址。*/ Locate(L,x) /*按值查找,若线性表L中存在一个或多个值为X的元素,返回首次找到的值为x的结点。*/ Insert(L,x,i) /*插入结点,在线性表L的第i(0≤i≤n)个位置上插入新的结点X。*/ Delete(L,i) /*删除结点删除线性表L的第i(0≤i≤n-1)个结点。*/ } ADT List 线性表抽象数据类型的JAVA接口定义 见教材36 对线性表的再讨论 1 有现实的意义吗? 2 在使用计算机时,什么地方见过的? 3 在现实中的应用? 从儿时到现在,哪些地方用过? 顺序存储结构的线性表称作顺序表。 2.2.1 顺序表存储结构 实现顺序存储结构的方法是使用数组。 对于线性表,数组把线性表的数据元素存储在一块连续地址空间的内存单元中。这样线性表中,逻辑上相邻的数据元素在物理存储地址上也相邻,数据元素间的逻辑上的前驱、后继逻辑关系就表现在数据元素的存储单元的物理前后位置关系上。 顺序表的存储结构如图所示。 其

文档评论(0)

celkhn5460 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档