- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构(Java版)全套教学课件.pptx数据结构(Java版)全套教学课件.pptx数据结构(Java版)全套教学课件.pptx
上课啦
THE POWERPOINT TEMPALTE
全套课件
学习目的与要求
重点:
理解数据结构的各种基本概念和术语
理解线性结构、层次结构和网状结构的结构特点
理解数据的逻辑结构、存储结构及运算三方面的概念及相互关系
难点:
掌握算法性能(时间和空间)的分析方法。
1.1 什么是数据结构
程序设计的过程,一般遵循以下解决步骤:
数值问题 数学方程式
非数值问题 设计合理的数据结构(表、树、图等)
分析问题
建立数学模型
设计算法
编写代码
数据结构是一门研究非数值计算程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。
数据结构的3种基本结构---线性结构
线性结构
实例:学生信息管理系统
数据结构的3种基本结构---树结构
树结构
实例:八皇后问题
数据结构的3种基本结构---图结构
图结构
实例:田径赛的时间安排问题
1.2 数据结构的相关概念和术语
数据(Data)
数据是计算机可以操作的对象,是能被计算机识别并处理的描述客观事物的符号集合。数据不仅仅包括整数、实数等数值类型,也包括字符、文字、图形图像、视频、声音等非数值类型。
数据元素(Data Element)
数据元素是组成数据的基本单位,是计算机程序加工处理的基本单位,在计算机中通常
作为一个整体进行考虑和处理。
数据项(Data Item)
数据项(Data Item)是有独立含义的最小单位。一个数据元素可由一个或多个数据
项组成,此时的数据元素通常称为记录(Record)。
数据对象(Data Object)
数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据的三个层次
例如:表1.1所示,学生信息表是数据,一行表示一个学生的记录,每一条记录就是一个数据元素,每一个数据元素都是由学号、姓名、性别、出生日期、政治面貌5个数据项组成。
1.3 数据结构的研究内容
逻辑结构:数据元素之间的逻辑关系。
存储结构:数据元素及其关系在计算机存储器内的表示。
数据的运算:即对数据施加的操作。
1.3 数据结构的研究内容---逻辑结构
四种基本数据结构关系图
1.3 数据结构的研究内容---存储结构
数据的存储结构
1.3 数据结构的研究内容---存储结构
顺序存储结构
链式存储结构
1.3 数据结构的研究内容---存储结构
1536
元素2
1400
元素1
1346
元素3
∧
元素4
1345
h
存储地址
存储内容
指针
1345
元素1
1400
1346
元素4
∧
…….
……..
…….
1400
元素2
1536
…….
……..
…….
1536
元素3
1346
链式存储
h
1.4 数据类型与抽象数据类型
数据类型(Data Type)
数据类型是指一组性质相同的值的集合以及在此集合上定义的一组操作的总称。
通常数据类型可以看作是程序设计语言中已实现的数据结构。数据类型是按照值的不同进行划分的。在高级语言中,每个变量、常量和表达式都有各自的取值范围。类型就用来说明变量或表达式的取值范围和所能进行的操作。
按“值”是否可分解,可将数据类型划分为两类:
(1)原子类型:其值不可分解。通常是由语言直接提供。
如JAVA语言的整型、实型、字符型等基本类型;
(2)结构类型:其值可分解为若干个成分(或称为分量)。是用户借助于语言提供的描述机制自己定义的,它通常是由标准类型派生的,故它也是一种导出类型。如JAVA语言的数组。
1.4 数据类型与抽象数据类型
抽象数据类型(Abstract Data Type简称ADT)
抽象数据类型是指一个数学模型及定义在该模型上的一组操作。
抽象数据类型可以看作是数据的逻辑结构及其在逻辑结构上定义的操作,而与其在计算机内部如何表示和实现无关。
抽象数据类型可以看作是描述问题的模型,它独立于具体实现。它的优点是将数据和操作封装在一起,使得用户程序只能通过在ADT里定义的某些操作来访问其中的数据,从而实现了信息隐藏。在JAVA中,我们可以用类的说明来表示ADT,用类的实现来实现ADT。因此,JAVA中实现的类相当于是数据的存储结构及其在存储结构上实现的对数据的操作。
ADT和类的概念实际上反映了程序或软件设计的两层抽象:ADT相当于是在概念层(或称为抽象层)上描述问
原创力文档


文档评论(0)