第 1 章 序言数据结构课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
抽象数据类型:提供组织和设计程序的一种新方法. 思想:将数据类型的使用与它的内部表示(机内存储),实现(机内操作的实现)分开.更确切地说:把一个数据类型的内部表示及在这个类型上的操作实现封装到一个程序模块中,用户不必知道细节. 抽象数据类型的特征是使用和实现分离,实行封装 和信息隐蔽 优点: 从使用者来看,只要了解该抽象数据类型的规格说明,就可以利用其公共界面中的服务来使用这个类型,而不必关心其物理实现.    从实现者的角度看:把抽象数据类型的物理实现封装起来,有利于编码、测试,也有利于扩充、修改. ADT NaturalNunber is objects: 一个整数的有序子集合,它开始于0,结束 于机器能表示的最大整数(MAXINT)。 Function: Zero( ):NaturalNumber IsZero(x):Boolean Add(x,y):NaturalNumber Equal(x,y):Boolean Successor(x):NaturalNumber Subtract(x,y):NaturalNumber end NaturalNumber 3)面向对象的概念 面向对象=对象+类+继承+通信 对象: 指各种实体,事件,规格说明,由一组属性值(确定对象的状态)和在这组值上的一组操作构成. 例如:定义一个矩形对象:   属性:左上角坐标, 右下角坐标, 边线颜色, 内部颜色.   操作:move(x,y); SetEdgeColor(c); SetInnerColor(c); 类:具有相同属性和操作的对象构成同一个类.   对类而言,其中的每一个对象称为该类的一个实 例(instance),不同的实例具有不同的属性值. 继承: 基类(父类)------把各派生类中的共同部分(属性和操作)          集中到基类中.   派生类(子类)------只保留自己特有的属性和服务. 例:基类------‘多边形’   派生类------‘四边形’,‘三角形’等 通信:各个类对象间通过消息进行通信.  消息:一个类的对象要求另一个类的对象执行某个操作的     指令. 4) 用于描述数据结构的语言:C++、Java 4. 算法定义 算法(Algorithm):解一个问题的一个运算序列(有穷指令集) 特性:(1)有穷性,(2)确定性, (3)一个初始动作(输入),     (4)序列终止:问题有解或无解(输出) 程序:与算法十分类似但不完全一样.   (1)算法可有多种描述方法:语言,图形,表格等.而程序一定是用机器可执行的语言写的.   (2)程序不满足有穷性.如OS在正常情况下永远运行下去.    5. 模板(template) 1)C++中引入模板的目的是为了实现软件的复用,可利用以前开发完成的数据结构或算法模块,有选择地组装到新的软件中,积木式的开发方法. 类模板的说明形式: template 类型形式参数表 class className 再对比一下选择排序的C++函数过程: (1).有两个参数:数组a为整型(浮点型要另外说明),大小为整型量n,现在变为类,这两个参数就作为类的两个私有成员变量. (2).为了使选择排序不但适用于int型,而且适用于其它类型,因此在类模板说明中,用类型形式参数表------class type表示. (3).再把选择排序中用到的一些操作:如交换两下标元素的内容,求最小值(也可为求最大值),输入和输出分别作为类的成员函数或友元函数放在类中. # ifndef DATALIST_H # define DATALIST_H # include iostream.h template class type class datalist { private: Type * Element; int ArraySize; void Swap(const int mark1,const int mark2); int MaxKey (const int low,const int high); public: datalist(int size=10):ArraySize(size),Element(new Type[Size]){ } ~data

文档评论(0)

autohhh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档