数据结构第一.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

宝贝计划 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档