数据结构第一张幻灯片幻灯片.ppt
《数据结构第一张幻灯片幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据结构第一张幻灯片幻灯片.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构第一张幻灯片第1页,共49页,编辑于2022年,星期六先修课程先修课程nC C语言语言n高等数学高等数学n离散数学离散数学第2页,共49页,编辑于2022年,星期六学时及安排学时及安排n学时:学时:1 17474学时学时n实验:实验:6 6个实验个实验n考试类型:考试(笔试)考试类型:考试(笔试)n成绩成绩=试卷成绩试卷成绩+平时成绩平时成绩n作业:周二中午之前交到教研室作业:周二中午之前交到教研室第3页,共49页,编辑于2022年,星期六公共邮箱公共邮箱n用户名:用户名:datexinxidatexinxi n密码:密码:xinxidate xinxidate 第4页,共49页,编辑
2、于2022年,星期六第一章第一章 绪绪 论论n1.1 1.1 什么是数据结构什么是数据结构n1.2 1.2 基本概念和术语基本概念和术语n1.3 1.3 抽象数据类型的表示与实现抽象数据类型的表示与实现n1.4 1.4 算法和算法分析算法和算法分析第5页,共49页,编辑于2022年,星期六1.1 1.1 什么是数据结构什么是数据结构Niklaus WirthNiklaus Wirth Algorithm+Date Structures=ProgramsAlgorithm+Date Structures=Programs 算算 法法 +数据结构数据结构 =程序设计程序设计程序设计程序设计程序设计
3、程序设计:为计算机处理问题编制一组指令集:为计算机处理问题编制一组指令集算法算法算法算法:处理问题的策略处理问题的策略数据结构数据结构数据结构数据结构:问题的数学模型:问题的数学模型全球气象预报全球气象预报 球面坐标系下的一般环流模式方程球面坐标系下的一般环流模式方程数值计算的程序设计问题数值计算的程序设计问题数值计算的程序设计问题数值计算的程序设计问题第6页,共49页,编辑于2022年,星期六1 1、求一组(、求一组(n n个)整数中的最大值个)整数中的最大值算法算法?基本操作是比较两个数的大小基本操作是比较两个数的大小模型?模型?整数整数2 2、计算机对弈、计算机对弈算法?算法?对弈的规则
4、和策略对弈的规则和策略模型?模型?棋盘,棋子棋盘,棋子3 3、足协的数据库、足协的数据库算法?算法?需要管理的项目?如何管理?用户界面需要管理的项目?如何管理?用户界面模型?模型?表格,数据库表格,数据库第7页,共49页,编辑于2022年,星期六概括的说概括的说 数据结构描述现实世界实体的数学模型数据结构描述现实世界实体的数学模型(非数值计算非数值计算)及其上的操作在计算机中的及其上的操作在计算机中的表示和实现。表示和实现。第8页,共49页,编辑于2022年,星期六1.2 1.2 基本概念和术语基本概念和术语一、数据与数据结构一、数据与数据结构n数据数据 所有能被输入到计算机中,并被计算机处理
5、的所所有能被输入到计算机中,并被计算机处理的所有这些符号的集合,有这些符号的集合,可见,数据是计算机操作的对象的总称,是计算机处理的可见,数据是计算机操作的对象的总称,是计算机处理的信息的载体,是信息的某一种特定的符号表示形式。信息的载体,是信息的某一种特定的符号表示形式。第9页,共49页,编辑于2022年,星期六n数据元素数据元素 数据中的一个数据中的一个“个体个体”,数据结构中讨论的基本单位。,数据结构中讨论的基本单位。n数据项数据项 数据结构中讨论的最小单位,数据元素是数据项的数据结构中讨论的最小单位,数据元素是数据项的集合集合 例如:运动员例如:运动员(数据元素数据元素)姓名姓名俱乐部
6、名称俱乐部名称出生日期出生日期参加日期参加日期职务职务业绩业绩年年 月月 日日组合项组合项第10页,共49页,编辑于2022年,星期六n数据对象数据对象 是性质相同的数据元素的集合是性质相同的数据元素的集合,是数据的一个子集是数据的一个子集 例如,整数数据对象例如,整数数据对象:N=0,1,2,:N=0,1,2,,字母字符数据对象字母字符数据对象:C=:C=A A,B B,Z Z,第11页,共49页,编辑于2022年,星期六n数据结构数据结构是相互之间存在一种或多种特定关系的数据元素的集合是相互之间存在一种或多种特定关系的数据元素的集合 数据元素相互之间的关系称为数据元素相互之间的关系称为结构
7、结构。例如,一个含例如,一个含1212位数的十进制数可以用三个位数的十进制数可以用三个4 4位的十位的十进制数表示,进制数表示,457834292610 457834292610 a1(4578),a2(3429),a3(2610)a1(4578),a2(3429),a3(2610)在在a1,a2,a3a1,a2,a3之间存在之间存在“次序次序”关系关系 ,4578,3429,2610 a1 ,a2 ,a3 3429,4578,2610 a2 ,a1 ,a3 是带结构的数据元素的集合是带结构的数据元素的集合第12页,共49页,编辑于2022年,星期六n又例,又例,2 2行行3 3列的矩阵列的矩
8、阵 a1,a2,a3,a4,a5,a6 a1,a2,a3,a4,a5,a6 n行的次序关系行的次序关系 row=,row=,n列的次序关系列的次序关系 col=,col=,a1 a1 a2 a2 a3 a3 a4 a4 a5 a5 a6 a6 a1,a2,a3 a4,a5,a6 a1,a2,a3 a5,a4,a6 第13页,共49页,编辑于2022年,星期六n再例,一维数组再例,一维数组 a1,a2,a3,a4,a5,a6 a1,a2,a3,a4,a5,a6 中中存在次序关系存在次序关系:a|i=1,2,3,4,5|i=1,2,3,4,5第14页,共49页,编辑于2022年,星期六n数据的逻辑
9、结构可以归结为以下四类:数据的逻辑结构可以归结为以下四类:(1)(1)线性结构线性结构 (2)(2)树形结构树形结构 (3)(3)图状结构图状结构 (网状结构网状结构)(4)(4)集合结构集合结构第15页,共49页,编辑于2022年,星期六数据结构的形式定义为:数据结构的形式定义为:n数据结构是一个二元组数据结构是一个二元组 Date_Structures=(D,S)Date_Structures=(D,S)其中其中D D是数据元素的有限集,是数据元素的有限集,S S是是D D上关系的有限集。上关系的有限集。n例如:由例如:由a1,a2,a3,a4,a5,a6a1,a2,a3,a4,a5,a6
10、构成的矩阵构成的矩阵 定义矩阵是一种数据结构定义矩阵是一种数据结构 E=D,S E=D,S D=a1,a2,a3,a4,a5,a6 D=a1,a2,a3,a4,a5,a6 S=a S=|i=1,2,3,4,5|i=1,2,3,4,5第16页,共49页,编辑于2022年,星期六数据的数据的存储结构存储结构 数据结构在计算机中的表示数据结构在计算机中的表示(映像映像)数据结构的存储映像数据结构的存储映像包括数据元素的映像和关系的映像包括数据元素的映像和关系的映像数据元素的映像方法:数据元素的映像方法:用二进制位用二进制位(bit)(bit)的位串表示数据元素的位串表示数据元素 (321)(321)
11、1010=(501)=(501)8 8=(101000001)=(101000001)2 2 A=(101)A=(101)8 8=(001000001)=(001000001)2 2第17页,共49页,编辑于2022年,星期六关系的映像方法关系的映像方法:(表示:(表示的方法)的方法)顺序映像:顺序映像:以数据元素在存储器之间一个固定的相对位以数据元素在存储器之间一个固定的相对位置的关系来表示数据元素的关系置的关系来表示数据元素的关系y 的存储位置和的存储位置和x的存储位置之间差一的存储位置之间差一个常量个常量C。而而C是一个隐含值,整个存储结构中只含数据元素本身的信是一个隐含值,整个存储结构
12、中只含数据元素本身的信息。息。a1a2a3a4a5a6有序对在计算机中有两种表示方法:顺序映像和链式映像有序对在计算机中有两种表示方法:顺序映像和链式映像第18页,共49页,编辑于2022年,星期六(a1,a2,a3a1,a2,a3)a1a2a3第19页,共49页,编辑于2022年,星期六链式映像链式映像n又称非顺序映像,在整个结构中又称非顺序映像,在整个结构中x x和和y y的存储位置之的存储位置之间没有固定的关系,就是说它们的存储位置是随意间没有固定的关系,就是说它们的存储位置是随意的。的。n以附加信息以附加信息(指针指针)表示后继关系表示后继关系n需要用一个和需要用一个和x x在一起的附
13、加信息指示在一起的附加信息指示y y的存储位置。的存储位置。nx x元素的存储映像是一个结点,包含两部分信息,其中元素的存储映像是一个结点,包含两部分信息,其中一部分信息是数据元素一部分信息是数据元素x x,另一部分信息是指向后继元,另一部分信息是指向后继元素的指针。素的指针。yx第20页,共49页,编辑于2022年,星期六n在不同的编程环境中,存储结构有不同的描在不同的编程环境中,存储结构有不同的描述方法。述方法。n当用高级程序设计语言进行编程时,通常可当用高级程序设计语言进行编程时,通常可用高级编程语言中提供的数据类型描述之。用高级编程语言中提供的数据类型描述之。n例如,以三个带有次序关系
14、的整数表示一个例如,以三个带有次序关系的整数表示一个长整数时,可利用长整数时,可利用C C语言中提供的整数数组类语言中提供的整数数组类型型,定义整数为:定义整数为:typedef int Long_int3typedef int Long_int3第21页,共49页,编辑于2022年,星期六三、数据类型三、数据类型n在用高级程序语言编写的程序中在用高级程序语言编写的程序中,必须对必须对程序中出现的每个变量、常量或表达式,程序中出现的每个变量、常量或表达式,明确说明他们所属的数据类型。明确说明他们所属的数据类型。n每个类型明显或者隐含的规定了在程序制每个类型明显或者隐含的规定了在程序制定期间它的
15、变量或者表达式所明确取值的定期间它的变量或者表达式所明确取值的范围以及允许进行的操作。范围以及允许进行的操作。n数据类型是一个值的集合和定义在此集合数据类型是一个值的集合和定义在此集合上的一组操作的总称。上的一组操作的总称。第22页,共49页,编辑于2022年,星期六抽象数据类型抽象数据类型(Abstract Data Type,(Abstract Data Type,简称简称ADT)ADT)n是指一个数学模型以及定义在此数学模型上的一组操作。是指一个数学模型以及定义在此数学模型上的一组操作。nADTADT有两个重要特征:有两个重要特征:数据抽象数据抽象 用用ADTADT描述程序处理的实体时,
16、强调的是其本质的特描述程序处理的实体时,强调的是其本质的特征,其所能完成的功能以及它和外部用户的接口征,其所能完成的功能以及它和外部用户的接口(即即外界使用它的方法外界使用它的方法)数据封装数据封装 将实体的外部特性和其内部实现细节分离,并且对外部用将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现规范。户隐藏其内部实现规范。第23页,共49页,编辑于2022年,星期六n例如,抽象数据类型复数的定义例如,抽象数据类型复数的定义 ADT ComplexADT Complex 数据对象数据对象:D=e1,e2|e1,e2RealSetD=e1,e2|e1,e2RealSet 数据关
17、系数据关系:R1=|e1:R1=|e1是复数的实数部分,是复数的实数部分,e2e2是复数的虚数部分是复数的虚数部分 基本操作:基本操作:InitComplexInitComplex(&Z,v1,v2&Z,v1,v2)操作结果:构造复数操作结果:构造复数Z,Z,其实部和虚部分别被赋以其实部和虚部分别被赋以参数参数v1v1和和v2v2的值的值 DestroyComplexDestroyComplex(&Z&Z)操作结果:复数操作结果:复数Z Z被销毁被销毁 第24页,共49页,编辑于2022年,星期六GetRealGetReal(Z Z,&realPart&realPart)初始条件:复数已存在初
18、始条件:复数已存在操作结果:用操作结果:用realPartrealPart返回复数返回复数Z Z的实部的实部GetImageGetImage(Z,&ImagPartZ,&ImagPart)初始条件:复数已存在初始条件:复数已存在操作结果:用操作结果:用ImagPartImagPart返回复数返回复数Z Z的实部的实部Add(z1,z2,&sum)Add(z1,z2,&sum)初始条件:初始条件:z1,z2z1,z2是复数是复数操作结果:用操作结果:用sumsum返回两个复数返回两个复数z1,z2z1,z2的和值的和值ADT ComplexADT Complex假设:假设:z1,z2z1,z2是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 第一 幻灯片
限制150内