版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(第一讲)绍兴文理学院计算机系计算机应用教研室数据结构(第一讲)绍兴文理学院计算机系计算机应用教研室数据结构TKS2为什么要学习
数据结构?*
TKS2为什么要学习
数据结构?*
起始课、第1章绪论(1)一、教学目的:明确数据结构课程在自身发展、应用等远景和本专业知识结构中的地位、作用;明确课程的特点、教学要求、学习方法;明确数据结构所研究的问题以及有关基本概念;明确抽象数据类型的概念和描述方法。
二、教学重点:数据结构课程在自身发展、应用等远景和本专业知识结构中的地位、作用;数据结构所研究的问题以及有关基本概念;抽象数据类型。
三、教学难点:理解数据结构所研究的问题;抽象数据类型。
四、教学过程:起始课、第1章绪论(1)一、教学目的:明确数据结构课TKS41、应用、科学的思想和方法-自身发展及其远景的需要(1)“校园卡”买饭菜等§1.0为什么要学习数据结构*
不同的查找主要用到数据的组织和查找。不同的数据的组织和查找效率是很不一样的,不同的查找方法其效率相差百倍以上乃至千倍。这是数据的组织和查找问题,在第7章中进行讨论。(2)打电话-存在0575和05758的城市电话区号吗?
若存在,则057588341511是0575对应城市下面的88341511还是05758对应城市下面的8341511呢?程控电话如何处理?又:为什么北京的电话区号是010,而绍兴的区号是0575?这是利用树结构的编码问题,在第5章中进行讨论。TKS41、应用、科学的思想和方法-自身发展及其远景的需要§(3)高考分数的排名-以便录取在第8章中进行讨论。(4)快递线路、运费最省、最短旅行线路等问题TKS5*
在计算机系统软件和应用软件中排序的使用频度很高。然而不同的排序方法排序效率是很不一样的。其排序效率相差百倍以上。不同的排序这是图结构问题,在第6章中进行讨论。最短路径(5)管线、道路连通的最少代价问题这是图结构问题,在第6章中进行讨论。
(6)工程计划问题
这是图结构问题,在第6章中进行讨论。
关键路径(3)高考分数的排名-以便录取3、是后续课程和软件技术基础的需要数据结构是操作系统、软件工程、计算机网络、编译原理、数据库等信息技术相关专业主要课程的先修课程;是掌握一定的算法理论、数据组织和处理技术、提高编程技能和提高实践动手能力需要。4、是培养科学的思想和方法,整体把握利用计算机解决问题的需要
有人设想将常用的数千个汉字进行全排列,用这些字写出的不朽诗篇,名言佳句将都在其中了。
每年按365天,每天24小时,每小时3600秒,对于每秒能生成108个排列的超高速电子计算机,即使一年到头从不休息地工作也需要:3.04×1064/(365×24×3600×108)≈9.64×1049
(年)。所以有些问题是计算机根本不能解决的。
但就当n=50时,有n!≈3.041064,(7)问题规模的判断-时间和空间复杂度问题TKS6*
算法复杂度2、是考研的需要3、是后续课程和软件技术基础的需要有人设想将常用的数(1)现实世界:现实中的事物和问题。
(2)信息世界:把现实世界中的事物和问题经过分析、抽象、归纳、整理后得到的逻辑意义上的事物和问题的数据和数据关系。
(3)机器世界:把信息世界里的数据和数据关系,组织并存储到计算机里,通过计算机来处理事物和解决问题。6、计算机求解问题的步骤:
实际问题问题模型机器模型求解算法编制程序问题实现分析抽象分析归纳模型求解命令编程调试程序5、三个世界TKS7*
数据结构是三个世界的纽带数据结构的知识和技能对现实世界的分析到信息世界提供直接而重要的帮助,结合编程工具,实现由信息世界到机器世界的转换,是实现用计算机来解决问题强有力的支撑。(1)现实世界:现实中的事物和问题。6、计算机求解问题的
§1.1数据结构的研究内容
数据结构主要研究非数值计算问题,非数值计算问题无法用数学方程建立数学模型。
例1书目自动检索系统登录号:书名:作者名:分类号:出版单位:出版时间:价格:书目卡片书目文件按书名按作者名按分类号索引表线性表1、数据结构的研究内容001高等数学樊映川S01002理论力学罗远祥L01003高等数学华罗庚S01004线性代数栾汝书S02………………………………004,…线性代数002,…理论力学001,003,…高等数学…………004,…栾汝书002,…华罗庚001,…樊映川…………001,003,…S002,…LTKS8*
§1.1数据结构的研究内容数据结构主要研究例2人机对弈问题
………………………………树TKS9*
例2人机对弈问题………………树TKS9*TKS10
“深蓝”与卡斯帕罗夫对弈
▲国际象棋棋盘有64格,每方有16个子。棋手在思考下一步棋时大约有35种合法选择。
▲目前最好的国际象棋程序可以分析到七八个回合,若要求电脑能思考到第七个回合,即14步棋,则需要有3514种可能的结局。
▲下棋程序靠的是基本的行棋知识和强大无比的检索演算能力。这种信息检索选择方式好比一棵树;共有35个枝干,每个枝干有35个树叉,…,最终到树叶,即可供选择的结果。越好的程序,所派生的树枝树叉就越多。
▲一般来讲,电脑每下一步棋,仍需有500亿或600亿种选择。TKS10“深蓝”与卡斯帕罗夫对弈▲国际象棋棋盘例3文件系统的系统结构图TKS11*
binlibuseretcmathdsswtaoyinxieStack.cppTree.cppQueue.cpp/(root)树例3文件系统的系统结构图TKS11*binlibuserv1v2v3v4v5v6105666107121015
v5
v1
v2
v3
v4
v6
例4最短管道连通问题
TKS12*
图2、课程的地位和性质沃思(N.Wirth)的一个著名公式:
数据结构+算法=程序(获1984年计算图灵奖)。(1)地位:计算机科学与技术专业等信息类专业的核心课程;信息类软件方向硕士研究生入学考的必考科目。(2)性质:算法设计基础和软件技术的重要专业理论与技术基础课。v1v2v3v4v5v6105666107121015v5
3、数据结构的产生和发展
为了研究数据的特性,数据之间的关系,数据的存储表示及其算法等,发展了数据结构。国外从1968年开始作为一门独立的课程。
1968年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计艺术》第一卷(基本算法)是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。4、课程学习的特点和要求(1)课程学习的特点:我们学习的是基础的、常用的和比较成熟的基本数据结构,目的是掌握这些数据结构及算法并付之应用。(2)课程学习要求:
树立学好的信心,上课注意听,课前预习,课后复习,加强分析,多上机练习,多问,独立完成作业及上机实验。(3)课程网站:(4)师生互动中的用户名:学号,密码:XXXXTKS13*
3、数据结构的产生和发展为了研究数据的特性(5)教材:《数据结构》(C语言版)严蔚敏等编著人民邮电出版社2011年
参考书:《数据结构》(C语言版)严蔚敏等编著清华大学出版社1997年
《数据结构》许卓群等编著高等教育出版社1987年
《数据结构题集》严蔚敏等编著北京清华大学出版社1999年
《数据结构》(C语言篇)-习题与解析李春葆编著清华大学出版社2002年
《数据结构》唐策善等编著高等教育出版社1996年§1.2基本概念和术语§1.2.1数据、数据元素、数据项和数据对象1、数据(Data):能输入到计算机并被计算机程序处理的符号总称。2、数据元素(DataElement):数据的基本单位,可以是若干个数据项(最小单位)组成。通常作为一个整体进行考虑和处理。TKS14*
(5)教材:《数据结构》(C语言版)严蔚敏等编著人民邮3、数据项(DataItem):是组成数据元素的、有独立含义的、不可分隔的最小单位。TKS15*
4、数据对象(DataObiect):性质相同的数据元素的集合。§1.2.2数据结构相互之间存在一种或多种特定关系的数据元素的集合。
★北大许卓群等编著教材上的定义:按某种逻辑关系组织起来的一批数据,按一定的存储表示方式把它存储到计算机的存储器中,并在这些数据上定义了一个运算的集合,叫做一个数据结构。数据结构综合三方面的内容:数据的逻辑结构,数据的存储结构及其运算。且不涉及元素本身的内容。1、逻辑结构数据的逻辑结构是从逻辑关条上描述数据,它与数据的存储无关,是独立于计箅机的。数据的逻辑结构有两个要素:一是数据元素;二是关系。
3、数据项(DataItem):是组成数据元素的、有独立含集合:“同一集合”关系线性结构:一对一关系树形结构:一对多关系图状或网状结构:多对多关系(1)四类基本结构TKS16*
集合:“同一集合”关系线性结构:一对一关系树形结构:一对多关数据的逻辑结构线性结构非线性结构线性表树结构图结构一般线性表特殊线性表线性表的推广树二叉树有向图无向图线性表栈与队列字符串数组广义表(2)几种逻辑结构层次图TKS17*
数据的逻辑结构线性结构非线性结构线性表树结构图结构一般线性表计算机科学与技术山东女冯子晗060214216150计算机科学与技术吉林女王诗萌060214215100计算机科学与技术福建男薛林06021420250计算机科学与技术安徽男杨阳0602142010专业籍贯性别姓名学号地址2、存储结构
数据对象在计算机中的存储表示称为数据的存储结构,也称为物理结构。数据元素在计算机中有两种基本的存储结构,分别是顺序存储结构和链式存储结构。(1)顺序存储结构顺序存储结构是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助程序设计语言的数组类型来描述。
学生基本信息表,对应的顺序存储结构如下。
TKS18*
计算机科学与技术山东女冯子晗060214216150计算机科(2)链式存储结构
借助指示元素存储地址的指针表示数据元素之间的逻辑关系。学生基本信息表,对应的链式存储结构如下。50计算机科学与技术吉林女王诗萌060214215150150计算机科学与技术福建男薛林060214202100^计算机科学与技术山东女冯子晗06021421650100计算机科学与技术安徽男杨阳0602142010后继结点的首地址专业籍贯性别
姓名学号地址060214201杨阳男安徽计算机科学与技术TKS19*
060214202薛林男福建计算机科学与技术060214215王诗萌女吉林计算机科学与技术060214216冯子晗女山东计算机科学与技术^
更直观的图示表示如下:(2)链式存储结构借助指示元素存储地址的指针表示§1.2.3数据类型和抽象数据类型
1、数据类型(DataType)
是一个值的集合和定义在这个值集上的一组操作的总称。2、抽象数据类型(AbstractDataType,ADT)
指由用户定义的、表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称,具体包括三部分:数据对象,数据对象上关系的集合,以及对数据对象的基本操作的集合。
TKS20*
即:抽象数据类型可以用以下的三元组来表示:
ADT=(D,S,P)数据对象D上的关系集D上的操作集§1.2.3数据类型和抽象数据类型1、数据类型(Data抽象数据类型的定义格式如下:
ADT抽象数据类型名{数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>}ADT抽象数据类型名(变量)
基本操作的定义格式为:基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
参数两种:赋值参数:提供输入引用参数:以&打头TKS21*
1.3抽象数据类型的表示与实现抽象数据类型独立于具体实现,将数据和操作封装在一起,使得用户程序只能通过抽象数据类型定义的某些操作来访问其中的数据,从而实现了信息隐藏。
抽象数据类型和类的概念实际上反映了程序或软件设计的两层抽象:抽象数据类型相当于在概念层(或称为抽象层)上描述问题,而类相当于在实现层上描述问题。
抽象数据类型的定义格式如下:ADT抽象数据类型名基本操作▲用类C语言描述算法的说明(P8—P9)例抽象数据类型复数的表示与实现(1)定义部分:
ADTComplex{
数据对象:D={el,e2∣el,e2∈R,R是实数集}
数据关系:s={<e1,e2>∣el是复数的实部,e2是复数的虚部}
基本操作:
Creat(&C,x,y)
操作结果:构造复数C,其实部和虚部分别被赋以参数x和y的值。
GetReal(C)
初始条件:复数C已存在。操作结果:返回复数C的实部值。TKS22*
▲用类C语言描述算法的说明(P8—P9)例抽象数据类型复GetImag(C)
初始条件:复数C已存在。操作结果:返回复数C的虚部值。
Add(Cl,C2)
初始条件:Cl,C2是复数。操作结果:返回两个复数Cl和C2的和。
Sub(Cl,C2)
初始条件:Cl,C2是复数。操作结果:返回两个复数Cl和C2的差。}ADTComplex(2)表示部分:
typedefstruct{//复数类型
floatRealpart;//实部
floatImagepart;//虚部
}Complex;TKS23*
GetImag(C)初始条件:复数C已存在。TKS(3)实现部分:voidCreat(&ComplexC,floatx,floaty){
//构造一个复数
C.Realpart=x;C.Imagepart=y;
}floatGetReal(ComplexC){//取复数C=x+yi的实部
returnC.Realpart;}floatGetImag(ComplexC){//取复数C=x+yi的虚部
returnC.Imagepart;}TKS24*
(3)实现部分:voidCreat(&ComplexComplexAdd(ComplexCl,ComplexC2){//求两个复数Cl和C2的和sum
Complexsum;sum.Realpart=Cl.Realpart+C2.Realpart;sum.Imagepart=Cl.Imagepart+C2.Imagepart;returnsum:}ComplexSub
(ComplexCl,ComplexC2){//求两个复数Cl和C2 的差differenceComplexdifference;difference.Realpart=Cl.Realpart-C2.Realpart;difference.Imagepart=Cl.Imagepart-C2.Imagepart;returndifference;}TKS25*
ComplexAdd(ComplexCl,CompleTKS26*
五、作业:书面作业:P16:5
?TKS26*五、作业:书面作业:P16:5?(第一讲)绍兴文理学院计算机系计算机应用教研室数据结构(第一讲)绍兴文理学院计算机系计算机应用教研室数据结构TKS28为什么要学习
数据结构?*
TKS2为什么要学习
数据结构?*
起始课、第1章绪论(1)一、教学目的:明确数据结构课程在自身发展、应用等远景和本专业知识结构中的地位、作用;明确课程的特点、教学要求、学习方法;明确数据结构所研究的问题以及有关基本概念;明确抽象数据类型的概念和描述方法。
二、教学重点:数据结构课程在自身发展、应用等远景和本专业知识结构中的地位、作用;数据结构所研究的问题以及有关基本概念;抽象数据类型。
三、教学难点:理解数据结构所研究的问题;抽象数据类型。
四、教学过程:起始课、第1章绪论(1)一、教学目的:明确数据结构课TKS301、应用、科学的思想和方法-自身发展及其远景的需要(1)“校园卡”买饭菜等§1.0为什么要学习数据结构*
不同的查找主要用到数据的组织和查找。不同的数据的组织和查找效率是很不一样的,不同的查找方法其效率相差百倍以上乃至千倍。这是数据的组织和查找问题,在第7章中进行讨论。(2)打电话-存在0575和05758的城市电话区号吗?
若存在,则057588341511是0575对应城市下面的88341511还是05758对应城市下面的8341511呢?程控电话如何处理?又:为什么北京的电话区号是010,而绍兴的区号是0575?这是利用树结构的编码问题,在第5章中进行讨论。TKS41、应用、科学的思想和方法-自身发展及其远景的需要§(3)高考分数的排名-以便录取在第8章中进行讨论。(4)快递线路、运费最省、最短旅行线路等问题TKS31*
在计算机系统软件和应用软件中排序的使用频度很高。然而不同的排序方法排序效率是很不一样的。其排序效率相差百倍以上。不同的排序这是图结构问题,在第6章中进行讨论。最短路径(5)管线、道路连通的最少代价问题这是图结构问题,在第6章中进行讨论。
(6)工程计划问题
这是图结构问题,在第6章中进行讨论。
关键路径(3)高考分数的排名-以便录取3、是后续课程和软件技术基础的需要数据结构是操作系统、软件工程、计算机网络、编译原理、数据库等信息技术相关专业主要课程的先修课程;是掌握一定的算法理论、数据组织和处理技术、提高编程技能和提高实践动手能力需要。4、是培养科学的思想和方法,整体把握利用计算机解决问题的需要
有人设想将常用的数千个汉字进行全排列,用这些字写出的不朽诗篇,名言佳句将都在其中了。
每年按365天,每天24小时,每小时3600秒,对于每秒能生成108个排列的超高速电子计算机,即使一年到头从不休息地工作也需要:3.04×1064/(365×24×3600×108)≈9.64×1049
(年)。所以有些问题是计算机根本不能解决的。
但就当n=50时,有n!≈3.041064,(7)问题规模的判断-时间和空间复杂度问题TKS32*
算法复杂度2、是考研的需要3、是后续课程和软件技术基础的需要有人设想将常用的数(1)现实世界:现实中的事物和问题。
(2)信息世界:把现实世界中的事物和问题经过分析、抽象、归纳、整理后得到的逻辑意义上的事物和问题的数据和数据关系。
(3)机器世界:把信息世界里的数据和数据关系,组织并存储到计算机里,通过计算机来处理事物和解决问题。6、计算机求解问题的步骤:
实际问题问题模型机器模型求解算法编制程序问题实现分析抽象分析归纳模型求解命令编程调试程序5、三个世界TKS33*
数据结构是三个世界的纽带数据结构的知识和技能对现实世界的分析到信息世界提供直接而重要的帮助,结合编程工具,实现由信息世界到机器世界的转换,是实现用计算机来解决问题强有力的支撑。(1)现实世界:现实中的事物和问题。6、计算机求解问题的
§1.1数据结构的研究内容
数据结构主要研究非数值计算问题,非数值计算问题无法用数学方程建立数学模型。
例1书目自动检索系统登录号:书名:作者名:分类号:出版单位:出版时间:价格:书目卡片书目文件按书名按作者名按分类号索引表线性表1、数据结构的研究内容001高等数学樊映川S01002理论力学罗远祥L01003高等数学华罗庚S01004线性代数栾汝书S02………………………………004,…线性代数002,…理论力学001,003,…高等数学…………004,…栾汝书002,…华罗庚001,…樊映川…………001,003,…S002,…LTKS34*
§1.1数据结构的研究内容数据结构主要研究例2人机对弈问题
………………………………树TKS35*
例2人机对弈问题………………树TKS9*TKS36
“深蓝”与卡斯帕罗夫对弈
▲国际象棋棋盘有64格,每方有16个子。棋手在思考下一步棋时大约有35种合法选择。
▲目前最好的国际象棋程序可以分析到七八个回合,若要求电脑能思考到第七个回合,即14步棋,则需要有3514种可能的结局。
▲下棋程序靠的是基本的行棋知识和强大无比的检索演算能力。这种信息检索选择方式好比一棵树;共有35个枝干,每个枝干有35个树叉,…,最终到树叶,即可供选择的结果。越好的程序,所派生的树枝树叉就越多。
▲一般来讲,电脑每下一步棋,仍需有500亿或600亿种选择。TKS10“深蓝”与卡斯帕罗夫对弈▲国际象棋棋盘例3文件系统的系统结构图TKS37*
binlibuseretcmathdsswtaoyinxieStack.cppTree.cppQueue.cpp/(root)树例3文件系统的系统结构图TKS11*binlibuserv1v2v3v4v5v6105666107121015
v5
v1
v2
v3
v4
v6
例4最短管道连通问题
TKS38*
图2、课程的地位和性质沃思(N.Wirth)的一个著名公式:
数据结构+算法=程序(获1984年计算图灵奖)。(1)地位:计算机科学与技术专业等信息类专业的核心课程;信息类软件方向硕士研究生入学考的必考科目。(2)性质:算法设计基础和软件技术的重要专业理论与技术基础课。v1v2v3v4v5v6105666107121015v5
3、数据结构的产生和发展
为了研究数据的特性,数据之间的关系,数据的存储表示及其算法等,发展了数据结构。国外从1968年开始作为一门独立的课程。
1968年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计艺术》第一卷(基本算法)是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。4、课程学习的特点和要求(1)课程学习的特点:我们学习的是基础的、常用的和比较成熟的基本数据结构,目的是掌握这些数据结构及算法并付之应用。(2)课程学习要求:
树立学好的信心,上课注意听,课前预习,课后复习,加强分析,多上机练习,多问,独立完成作业及上机实验。(3)课程网站:(4)师生互动中的用户名:学号,密码:XXXXTKS39*
3、数据结构的产生和发展为了研究数据的特性(5)教材:《数据结构》(C语言版)严蔚敏等编著人民邮电出版社2011年
参考书:《数据结构》(C语言版)严蔚敏等编著清华大学出版社1997年
《数据结构》许卓群等编著高等教育出版社1987年
《数据结构题集》严蔚敏等编著北京清华大学出版社1999年
《数据结构》(C语言篇)-习题与解析李春葆编著清华大学出版社2002年
《数据结构》唐策善等编著高等教育出版社1996年§1.2基本概念和术语§1.2.1数据、数据元素、数据项和数据对象1、数据(Data):能输入到计算机并被计算机程序处理的符号总称。2、数据元素(DataElement):数据的基本单位,可以是若干个数据项(最小单位)组成。通常作为一个整体进行考虑和处理。TKS40*
(5)教材:《数据结构》(C语言版)严蔚敏等编著人民邮3、数据项(DataItem):是组成数据元素的、有独立含义的、不可分隔的最小单位。TKS41*
4、数据对象(DataObiect):性质相同的数据元素的集合。§1.2.2数据结构相互之间存在一种或多种特定关系的数据元素的集合。
★北大许卓群等编著教材上的定义:按某种逻辑关系组织起来的一批数据,按一定的存储表示方式把它存储到计算机的存储器中,并在这些数据上定义了一个运算的集合,叫做一个数据结构。数据结构综合三方面的内容:数据的逻辑结构,数据的存储结构及其运算。且不涉及元素本身的内容。1、逻辑结构数据的逻辑结构是从逻辑关条上描述数据,它与数据的存储无关,是独立于计箅机的。数据的逻辑结构有两个要素:一是数据元素;二是关系。
3、数据项(DataItem):是组成数据元素的、有独立含集合:“同一集合”关系线性结构:一对一关系树形结构:一对多关系图状或网状结构:多对多关系(1)四类基本结构TKS42*
集合:“同一集合”关系线性结构:一对一关系树形结构:一对多关数据的逻辑结构线性结构非线性结构线性表树结构图结构一般线性表特殊线性表线性表的推广树二叉树有向图无向图线性表栈与队列字符串数组广义表(2)几种逻辑结构层次图TKS43*
数据的逻辑结构线性结构非线性结构线性表树结构图结构一般线性表计算机科学与技术山东女冯子晗060214216150计算机科学与技术吉林女王诗萌060214215100计算机科学与技术福建男薛林06021420250计算机科学与技术安徽男杨阳0602142010专业籍贯性别姓名学号地址2、存储结构
数据对象在计算机中的存储表示称为数据的存储结构,也称为物理结构。数据元素在计算机中有两种基本的存储结构,分别是顺序存储结构和链式存储结构。(1)顺序存储结构顺序存储结构是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助程序设计语言的数组类型来描述。
学生基本信息表,对应的顺序存储结构如下。
TKS44*
计算机科学与技术山东女冯子晗060214216150计算机科(2)链式存储结构
借助指示元素存储地址的指针表示数据元素之间的逻辑关系。学生基本信息表,对应的链式存储结构如下。50计算机科学与技术吉林女王诗萌060214215150150计算机科学与技术福建男薛林060214202100^计算机科学与技术山东女冯子晗06021421650100计算机科学与技术安徽男杨阳0602142010后继结点的首地址专业籍贯性别
姓名学号地址060214201杨阳男安徽计算机科学与技术TKS45*
060214202薛林男福建计算机科学与技术060214215王诗萌女吉林计算机科学与技术060214216冯子晗女山东计算机科学与技术^
更直观的图示表示如下:(2)链式存储结构借助指示元素存储地址的指针表示§1.2.3数据类型和抽象数据类型
1、数据类型(DataType)
是一个值的集合和定义在这个值集上的一组操作的总称。2、抽象数据类型(AbstractDataType,ADT)
指由用户定义的、表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称,具体包括三部分:数据对象,数据对象上关系的集合,以及对数据对象的基本操作的集合。
TKS46*
即:抽象数据类型可以用以下的三元组来表示:
ADT=(D,S,P)数据对象D上的关系集D上的操作集§1.2.3数据类型和抽象数据类型1、数据类型(Data抽象数据类型的定义格式如下:
ADT抽象数据类型名{数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>}ADT抽象数据类型名(变量)
基本操作的定义格式为:基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
参数两种:赋值参数:提供输入引用参数:以&打头TKS47*
1.3抽象数据类型的表示与实现抽象数据类型独立于具体实现,将数据和操作封装在一起,使得用户程序只能通过抽象数据类型定义的某些操作来访问其中的数据,从而实现了信息隐藏。
抽象数据类型和类的概念实际上反映了程序或软件设计的两层抽象:抽象数据类型相当于在概念层(或称为抽象层)上描述问题,而类相当
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大宗贸易交易合同
- 展示租赁交易合同
- 代收款居间服务合同
- 前期我物业合同
- 考研复试语言表达规范与心理应对策略
- 2026年AI代工物联网接入协议
- 医疗居间服务合同
- 二手车居间服务合同
- 借贷居间服务合同
- 二手手车交易合同
- 2026年国企中层干部公开遴选笔试试卷(附答案)
- 2026年小学生安全知识竞赛试题库及答案
- 语文参考答案四川成都市2023级(2026)届高三年级下学期定时练习(成都三诊)(4.27-4.29)
- 2026年北京市东城区高三二模英语试卷(含答案)
- 重庆机场集团有限公司招聘考试试题及答案
- 胖东来供应链管理
- 钢结构厂房重点难点,及解决措施
- 云天化集团有限责任公司招聘笔试题库2026
- 2026综合版《安全员手册》
- 建筑工程检测服务采购协议书
- 数字万用表的使用课件
评论
0/150
提交评论