- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 授课教师:陈雪龙 数据结构 第一章 绪论 内容提要 基本要求、重点、难点 引例 引例 引例 1.1 数据结构概念 相互之间存在一种或多种特定关系的数据元素的集合称为数据结构,可表示为: d1 d5 d2 d4 d3 例3 复数的定义(Z1=2+3.5i , Z2=6-7.5i) 形式定义: 复数是一种数据结构 Complex=(C,R) 其中:C是含两个实数的集合{C1, C2 } R是定义在集合C上的一种关系{< C1, C2 >}, 有序偶对< C1, C2 >表示C1 是复数的实部,C2是复数的虚部 例4 假设我们需要编制一个事务管理的程序,管理学校科研小组的各项事 务,则需先为其设计一个数据结构。假设每个小组由一位教师、一至三名研究生及一至六名本科生组成,小组成员间的关系是:教师指导研究生,每位研究生指导一至两名本科生。 答:物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。 答:在数据的逻辑结构上定义的操作算法。 它在数据的存储结构上实现。 数据的逻辑结构—只抽象反映数据元素的逻辑关系 数据的存储(物理)结构—数据的逻辑结构在计算机存储器中的实现 数据(data)——所有能被计算机识别、存储和处理的符号的集合(包括数字、字符、声音、图像等信息 )。 数据元素(data element)——是数据的基本单位,具有完整确定的实际意义(又称元素、结点,顶点、记录等)。 数据项(Data item)——构成数据元素的项目。是具有独立含义的最小标识单位(又称字段、域、属性 等)。 数据对象(Data Object)——具有相同性质数据元素的集合,是数据的一个子集(如整数集、实数集等)。 1.3 抽象数据类型的表示与实现 1.3.1 数据类型与抽象数据类型的区别 1.3.1 数据类型与抽象数据类型的区别 1.3.1 数据类型与抽象数据类型的区别 1.3.2 抽象数据类型如何定义 1.3.2 抽象数据类型如何定义 例如 抽象数据类型"复数"的定义为:? ADT Complex { 数据对象:D = {e1,e2 | e1,e2 ∈RealSet } 数据关系:R1 = {<e1,e2> | e1是复数的实部,e2是复数的虚部 }? 基本操作: InitComplex( &Z, v1, v2 ) 操作结果:构造复数Z,其实部和虚部分别被赋以v1和 v2的值。 DestroyComplex( &Z) 初始条件:复数已存在。 操作结果:复数Z被销毁。 GetReal( Z, &realPart ) 初始条件:复数已存在。 操作结果:用 realPart 返回复数Z的实部值。 GetImag( Z, &ImagPart ) 初始条件:复数已存在。 操作结果:用 ImagPart 返回复数Z的虚部值。 Add( z1,z2, &sum ) 初始条件:z1,z2 是复数。 操作结果:用sum返回两个复数z1,z2的和值。} ADT Complex 1.3.3 抽象数据类型如何表示和实现 抽象数据类型可以通过固有的数据类型(如整型、实型、字符型等)来表示和实现。 1.3.3 抽象数据类型如何表示和实现 例如 利用类C语言实现的"复数"类型如下描述: // 存储结构的定义 typedef struct { float realpart; float imagpart; } complex; // 基本操作的函数原型说明 void Assign( complex &Z, float realval, float imagval ); // 构造复数 Z,其实部和虚部分别被赋以参数 realval 和 imagval 的值 void DestroyComplex( complex &Z) // 销毁复数 Z float GetReal( complex Z ); // 返回复数 Z 的实部值 float Getimag( complex Z ); // 返回复数 Z 的虚部值 void add( complex z1, complex z2, complex &sum ); // 以 sum 返回两个复数 z1,z2 的和 // 基本操作的实现 ………… void add( complex z1, complex z2, complex &sum )
文档评论(0)