数据结构与算法----教学课件.ppt
- 文档编号:2709229
- 上传时间:2022-11-08
- 格式:PPT
- 页数:49
- 大小:1.24MB
数据结构与算法----教学课件.ppt
《数据结构与算法----教学课件.ppt》由会员分享,可在线阅读,更多相关《数据结构与算法----教学课件.ppt(49页珍藏版)》请在冰豆网上搜索。
计算机软件技术基础计算机软件技术基础第第2章章数据结构与算法数据结构与算法第第1节节概述概述一、数据结构讨论与研究的范畴一、数据结构讨论与研究的范畴二、算法二、算法第第2页页学习内容与要求学习内容与要求学习内容与要求学习内容与要求学学习和了解数据和了解数据结构所研究的内容;掌握构所研究的内容;掌握数据的数据的逻辑结构和存构和存储结构的定构的定义和基本和基本分分类;学学习和掌握与数据和掌握与数据结构有关的名构有关的名词术语(如数据、数据元素、数据(如数据、数据元素、数据对象、数据象、数据类型、抽象数据型、抽象数据类型型ADT等等);等等);学学习和了解算法的概念、特点以及算法的和了解算法的概念、特点以及算法的评价价标准。
准。
第第3页页程程序序:
数据结构数据结构:
算法算法:
利用计算机语言编制的一组利用计算机语言编制的一组具有确定功能的指令集合。
具有确定功能的指令集合。
处理问题的策略。
处理问题的策略。
问题或对象的数学模型问题或对象的数学模型(如如何描述数据的外部表现形式何描述数据的外部表现形式和内部存储结构和内部存储结构)。
第第4页页一、数据结构一、数据结构研究和讨论的范畴研究和讨论的范畴第第5页页“学生学生”数据数据123456789第第6页页“课程课程”数据数据第第7页页“选课选课”数据数据学号课程编号成绩时间981640240028206.6.10981640240169006.6.15981650240028506.6.10981650240167606.6.15981650240248906.6.139816598164024016024002024024学生学生课程课程第第8页页学生学生(学号学号,姓名姓名,性别性别,籍贯籍贯)课程课程(课程号课程号,课程名课程名,学分学分)选课选课(学号学号,课程号课程号,成绩成绩)“选课”数据包含如下信息:
学号课程编号成绩时间学生选课系统中“学生”和“课程”这两个实体构成了网状(图状)关系(即“选课”关系)。
第第9页页UNIXUNIX文件系统的系统结构图文件系统的系统结构图第第10页页数据结构的研究内容数据结构的研究内容1.综合上述例子可见,描述这类非数值计综合上述例子可见,描述这类非数值计算问题的数学模型不再是数学方程,而算问题的数学模型不再是数学方程,而是诸如表、树和图之类的数据结构。
是诸如表、树和图之类的数据结构。
2.2.简单地说,作为一门学科,数据结构简单地说,作为一门学科,数据结构主要研究主要研究非数值计算的程序设计问题非数值计算的程序设计问题当中计算机的当中计算机的操作对象操作对象(数据)(数据)以及以及它们之间的它们之间的关系关系(逻辑结构和物理结(逻辑结构和物理结构)构)和和操作操作(算法实现)(算法实现)。
第第11页页若干名词术语若干名词术语数据(数据(data)数据元素(数据元素(dataelement)数据数据项(dataitem)数据数据对象(象(dataobject)数据数据结构(构(datastructure)数据数据类型(型(datatype)抽象数据抽象数据类型(型(ADT)第第12页页数据(数据(数据(数据(datadata)数据数据:
计算机中能算机中能识别和和处理的一切符号。
理的一切符号。
(是信息的是信息的载体,是描述客体,是描述客观事物的事物的数、字数、字符符以及所有能以及所有能输入到入到计算机中、被算机中、被计算机程算机程序序识别和和处理的理的符号的集合符号的集合。
)数数值性数据性数据非数非数值性数据性数据第第13页页数据元素数据元素和数据项和数据项数据元素数据元素:
是是组成组成数据的数据的基本单位基本单位。
(在计算机程序中常作为一个整体进在计算机程序中常作为一个整体进行考虑和处理。
数据元素又可称为行考虑和处理。
数据元素又可称为元元素、结点、记录素、结点、记录。
)数据项数据项是是具有独立含义的最小标识具有独立含义的最小标识单位。
单位。
(有时一个数据元素可以由若有时一个数据元素可以由若干干数据项数据项组成。
组成。
)第第14页页数据对象数据对象数据对象数据对象具有相同性具有相同性质的数据成的数据成员(数据(数据元素)的集合,数据的子集元素)的集合,数据的子集。
例:
例:
整数数据整数数据对象象N=0,1,2,学生数据学生数据对象象有有穷集和无集和无穷集集第第15页页什么是数据结构什么是数据结构什么是数据结构什么是数据结构定义定义:
由某一由某一数据对象数据对象及该对象中所有数据及该对象中所有数据成员之间的成员之间的关系关系组成。
组成。
第第16页页数据元素间的逻辑关系,即数据元素间的逻辑关系,即数据的逻数据的逻辑结构辑结构。
数据元素及其关系在计算机存储内的数据元素及其关系在计算机存储内的表示,即表示,即数据的存储表示数据的存储表示(物理结构、(物理结构、物理表示)。
物理表示)。
数据的运算,即数据的运算,即对数据元素施加的操对数据元素施加的操作作。
作为学科,数据结构研究数据的组织作为学科,数据结构研究数据的组织形式,包括以下内容:
形式,包括以下内容:
第第17页页数据的逻辑结构数据的逻辑结构数据的逻辑结构数据的逻辑结构从数据的逻辑关系从数据的逻辑关系上描述数据上描述数据,与数据的存储无关,与数据的存储无关,与数据元素本身的具体形式、内容与数据元素本身的具体形式、内容无关。
无关。
数据的逻辑结构可以看作是从具体数据的逻辑结构可以看作是从具体问题抽象出来问题抽象出来的数据模型。
的数据模型。
第第18页页数据的数据的逻辑结构逻辑结构可归结为以下可归结为以下四类:
四类:
线性线性结构:
一对一关系树形树形结构:
一对多关系图状图状结构:
多对多关系集合集合结构:
简单隶属关系第第19页页数据逻辑结构的描述方式数据逻辑结构的描述方式数据逻辑结构的描述方式数据逻辑结构的描述方式二元组二元组K=D,R其中,其中,D是某一数据对象,是某一数据对象,R是该对象中是该对象中所有数据成员之间的关系的有限集合。
一般表所有数据成员之间的关系的有限集合。
一般表现形式如下:
现形式如下:
D=d1,d2,dnR=r1,r2,rm关键字关键字:
数据元素中可用于标识该数据元素的数据元素中可用于标识该数据元素的某个分量(数据项)。
通常用关键字区别不同某个分量(数据项)。
通常用关键字区别不同的数据元素。
的数据元素。
第第20页页D01,02,03,04,05,06,07,08,09,10R1=,R2=,R3=,第第21页页R1=,用连线表示数据元素之间的联系用连线表示数据元素之间的联系第第22页页R2=,第第23页页R3=,第第24页页由上述数据由上述数据结构的描述可得出构的描述可得出结论:
相同:
相同数据元素的集合(即同一数据数据元素的集合(即同一数据对象),因象),因其关系的不同而构成不同的数据其关系的不同而构成不同的数据逻辑结构。
构。
对一一实际应用用问题,合理,合理选择数据数据逻辑结构才能构才能够设计出有效的算法。
出有效的算法。
例:
根据下列选课情况安排考试日程,使得在不冲突的例:
根据下列选课情况安排考试日程,使得在不冲突的情况下用尽可能短的时间安排所有考试。
情况下用尽可能短的时间安排所有考试。
学生姓名学生姓名选修课选修课1选修课选修课2选修课选修课3甲甲ABC乙乙DE丙丙DCF丁丁EFA戊戊BF第第25页页数据的存储结构数据的存储结构是数据在计算机内数据的存储结构是数据在计算机内部的存储方式,依赖于计算机语部的存储方式,依赖于计算机语言。
言。
存储结构分类存储结构分类顺序存储结构顺序存储结构链式存储结构链式存储结构索引结构索引结构散列结构散列结构第第26页页顺序存储(矢量存储)结构顺序存储(矢量存储)结构所有元素存放在一片连续的存储单元中,逻辑上所有元素存放在一片连续的存储单元中,逻辑上相邻的元素存放到计算机内存中其存储地址仍然相邻。
相邻的元素存放到计算机内存中其存储地址仍然相邻。
链式存储结构链式存储结构:
所有元素可以存放在不连续的存储单元中,元所有元素可以存放在不连续的存储单元中,元素之间的关系通过地址确定,逻辑上相邻的元素素之间的关系通过地址确定,逻辑上相邻的元素放到计算机内存后其存储地址不一定是相邻的。
放到计算机内存后其存储地址不一定是相邻的。
第第27页页顺序和链式存储结构示意图顺序和链式存储结构示意图顺序和链式存储结构示意图顺序和链式存储结构示意图第第28页页数据类型数据类型数据类型数据类型数据数据类型型:
定定义:
一一组性性质相同的相同的值的集合的集合,以及定以及定义于于这个个值集合上的一集合上的一组操作的操作的总称。
称。
CC+语语言中的数据言中的数据类类型型charintfloatdoublevoidcharintfloatdoublevoid字符型字符型整型整型浮点型浮点型双精度型双精度型无无值基本数据类型(原子类型):
可以看作是计基本数据类型(原子类型):
可以看作是计算机中程序设计语言已实现的数据结构。
算机中程序设计语言已实现的数据结构。
构造型数据类型:
由相同或不同成分的类型构造型数据类型:
由相同或不同成分的类型构成,如数组、结构体、类构成,如数组、结构体、类、指针、指针等。
等。
第第29页页抽象数据类型抽象数据类型抽象数据类型抽象数据类型由用由用户定定义,用以表示,用以表示实际应用用问题问题的的数据模型。
数据模型。
由由基本的数据基本的数据类型型组成成,并包并包括括一一组相关的服相关的服务(或称操作)。
(或称操作)。
第第30页页抽象数据类型的描述方法抽象数据类型的描述方法:
抽象数据类型从形式上可用抽象数据类型从形式上可用(D,R,O)三元组表示。
其中:
三元组表示。
其中:
D是数据对象,是数据对象,R是是D上上的关系集,的关系集,O是对是对D的基本操作集的基本操作集。
一般采用如下格式描述一般采用如下格式描述ADT抽象数据类型名抽象数据类型名数据对象:
数据对象:
数据对象的定义数据对象的定义数据关系:
数据关系:
数据关系的定义数据关系的定义基本操作:
基本操作:
基本操作的定义基本操作的定义ADT抽象数据类型名抽象数据类型名第第31页页ADT基本操作的定义格式基本操作的定义格式基本操作名(基本操作名(参数表参数表)初始条件初始条件:
初始条件描述初始条件描述操作结果操作结果:
操作结果描述操作结果描述参数:
参数:
赋值参数赋值参数只为操作提供输入值只为操作提供输入值;引用参数引用参数以以&打头,除可提供输入值外,还将返回操作结果。
打头,除可提供输入值外,还将返回操作结果。
初始条件:
初始条件:
描述操作执行之前数据结构和参数应描述操作执行之前数据结构和参数应满足的条件,若不满足,则操作失败,并返回相满足的条件,若不满足,则操作失败,并返回相应出错信息应出错信息。
若初始条件为空若初始条件为空,则省略之。
则省略之。
操作结果操作结果:
说明操作正常完成之后,数据结构的说明操作正常完成之后,数据结构的变化状况和应返回的结果。
变化状况和应返回的结果。
第第32页页例如,抽象数据类型例如,抽象数据类型“复数复数”的定的定义:
义:
数据对象:
数据对象:
De1,e2RealSet数据关系:
数据关系:
R1|e1是复数的实数部分,是复数的实数部分,e2是复数的虚数部分是复数的虚数部分ADTComplex第第33页页基本操作:
基本操作:
AssignComplex(&Z,v1,v2)操作结果:
操作结果:
构造一个复数构造一个复数ZZ,其实部和虚,其实部和虚部分别被赋以参数部分别被赋以参数v1v1和和v2v2的值。
的值。
DestroyComplex(&Z)操作结果:
操作结果:
复数复数ZZ被销毁。
被销毁。
GetReal(Z,&realPart)初始条件:
初始条件:
复数已存在。
复数已存在。
操作结果:
操作结果:
用用realPart返回复数返回复数ZZ的实部值。
的实部值。
第第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法 教学 课件