数据结构Java语言版王学军第三章课件教学.pptVIP

数据结构Java语言版王学军第三章课件教学.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文档。上传文档
查看更多
数据结构Java语言版王学军第三章课件教学.ppt

数据结构(Java语言版) 人民邮电出版社 【教学提示】 本章共设8个学时,理论4学时,实验4学时 采用理论联系实践、配合实例的方式进行讲解,重点讲解线性表的逻辑结构、存储结构及相关应用,体会数据结构中逻辑结构与存储结构之间的对应关系。 双向链表、循环链表等内容可作为选学内容。 【内容简介】 线性表是数据结构中最基本的结构之一,其应用非常广泛,在高级语言程序设计中经常遇到的数组就是线性表的应用。按线性表的存储结构,可将其分为顺序表和链表,通过对其操作可以解决许多生活中的实际问题。 【知识要点】 ? 线性表的概述和基本概念; ? 顺序表的基本操作及综合应用; ? 链表的基本操作及综合应用; ? 实例应用。 第一节 3.1 实例引入 【学习任务】 通过实例初步了解线性表的特征,从感性上认识线性表及其简单操作。 【例3.1】 对于初学计算机者,会遇到计算机打字练习,目前有很多指法练习软件,其中打字游戏集娱乐和学习于一体,是计算机初学者比较喜欢使用的打字练习软件。图3.1所示为打字游戏界面。 对于如图3.1所示的英文打字软件,是对单个字符进行练习的,如图3.2所示的界面是对多个英文字符进行练习,练习时,若输入正确的字母,以蓝色显示;若输入错误的字母,会给出相应提示或显示其他颜色(假设为红色)。 在如图3.2所示的提示信息中,给出的字母就是按照顺序排列的,其中包含了字母、空格等符号,用户可以按照字母出现的先后顺序进行操作,根据这样的提示输入的信息就是典型的基于前后关系的线性结构。 【例3.2】 假设现在有一篇英文文章,某用户想在其中查找某单词,则首先要将这些单词以前后出现的顺序存放在一张表中,假设为A=(a1,a2,…,ai?1,ai,ai+1,…,an),要在其中查找某单词时,可按顺序从a1开始,一直找到最后,如果有匹配的单词存在,则查找成功,否则查找失败。如果查找的过程是在类似于以字母为顺序的字典中进行的,则可以先确定该单词的第一个字母所在位置,然后进一步查找单词具体位置,这些具体操作是基于表A的建立方式不同而不同的。这里表A也是一个线性表的实例。 第二节 3.2 线性表的概述 【学习任务】 理解线性表的含义,熟练掌握线性表的相关概念,重点理解线性表中逻辑结构、存储结构和相应操作之间的关系。 3.2.1 线性表的概念 通过前面的例子可以看出,线性表实际上是基于前面元素和后面元素之间的一种相邻关系的结构。 1.线性表的定义 线性表是将多个具有相同类型的数据元素放在一起构成一组有限序列的结构,通常记为 A?=(a1,a2,…,ai?1,ai,ai+1,…,an) 2.线性表的相关概念 在上述线性表的定义中,相关概念如下。 (1)A代表一个线性表。 (2)ai(1≤i≤n)称为线性表的元素,i为元素的下标,表示该元素在线性表中的位置。 (3)线性表中n为表长,其中,n≥0,当n=0时称该表为空表。 (4)线性表是一种基于相邻数据元素之间的对应关系,将元素ai?1称为元素ai的直接前趋,将元素ai+1称为元素ai的直接后继。通过定义可知,在线性表中,a1是表中第一个元素,它没有前趋,an是最后一个元素,没有后继。 (5)线性表中的元素ai既可以是一个单个元素,也可以是一个数据元素,即由多个数据项构成的元素。例如,在第1章中所介绍的图书信息表中,一个记录即为一个元素,它包括多个数据项(图书编号、书名、数量、价格)。 因此,线性表的定义也可描述如下:线性表是第一个元素无前驱,最后一个元素无后继,而其他元素都有唯一直接前驱和直接后继的表结构。 例如,A=(1,4,7,…,49)是一个线性表,每个数值就是一个元素。 B=((2001,计算机应用基础,10,22),(2003,大学英语,30,14),(2005,机械制图,70,30),(2007,数据结构,35,24))也是一个线性表,每个元素是由4个数据项(图书编号、书名、数量、价格)构成的。 3.2.2 线性表的存储结构及操作 1.线性表的逻辑结构与存储结构 由线性表的定义可知线性表的逻辑结构,即相临元素之间所满足的前驱和后继的逻辑关系。 如果要在计算机中实现对线性表的各种操作,必须了解线性表在计算机中的存储形式(即存储结构)。一种逻辑结构可对应多种存储结构,而每种存储结构又有自己的存储特点和操作方式。 2.线性表的操作 线性表的常见操作有:建表(初始化)、求表长、查找、插入、删除等。线性表的操作是在其逻辑结构和存储结构的共同支持下完成的。 值得注意的是,每种数据结构的相关操作一定不能脱离其逻辑结构和存储结构而独立存在。 3.线性表的分类 线性表的存储结构可分为顺序存储结构和链式存储结构两种,因此可将线性表分为顺序表和链表两大类。下面分别介绍顺序表和链表的特点及

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档