第一章 数据结构概念 数据结构(用面向对象的方法与C 语言描述)(第2版)课件.ppt
文本预览下载声明
第一章 数据结构概念 数据结构电子教案 什么是数据结构 抽象数据类型及面向对象概念 算法定义 模板 算法简单性能分析与度量 “学生”表格 “课程”表格 “选课单”包含如下信息 学号 课程编号 成绩 时间 学生选课系统中实体构成的网状关系 UNIX文件系统的系统结构图 数据(data) 数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计算机程序识别和处理的符号的集合。 数据的分类: 数值性数据 非数值性数据 什么是数据结构 例:N 个网点之间的连通关系 抽象数据类型及面向对象概念 数据类型 定义:一组性质相同的值的集合, 以及定义于这个值集合上的一组操作的总称. C语言中的数据类型 char int float double void 字符型 整型 浮点型 双精度型 无值 抽象数据类型 (ADTs: Abstract Data Types) 抽象数据类型是由用户定义,用以表示应用问题的数据模型。 特点是:信息隐蔽和数据封装,使用与实现相分离。 抽象数据类型可用(D, S, P)三元组表示,其中,D 是数据元素的集合(简称数据对象),S 是 D上的关系集合,P 是对 D 的基本操作集合。 抽象数据类型的描述 其中数据对象、数据之间的关系用伪码描述;基本操作定义格式为 基本操作有两种参数:赋值参数只为操作提供输入值;引用参数以打头,除可提供输入值外,还将返回操作结果。 “前置条件”描述了操作执行之前数据结构和参数应满足的先决条件,若不满足,则操作失败,并返回相应出错信息。 “后置条件”说明了操作正常完成之后,数据结构的变化状况和应返回的结果。若前置条件为空,则省略之。 自然数的抽象数据类型定义 ADT NaturalNumber is objects: 一个整数的有序子集合,它开始于0, 结束于机器能表示的最大整数(MaxInt)。 Function: 对于所有的 x, y ? NaturalNumber; False, True ? Boolean, +、-、、==、= 等都是可用的服务。 Zero( ) : NaturalNumber //前置条件:无 //后置条件:返回自然数0 IsZero(x) : Boolean //前置条件:x为NaturalNumber //后置条件:if (x == 0) then 返回True else 返回False Add (x, y) : NaturalNumber //前置条件:x, y为NaturalNumber且x+y≤MaxInt //后置条件:返回 x+y Subtract (x, y) : NaturalNumber //前置条件: x, y为NaturalNumber且x≥y //后置条件:返回 x- y Equal (x, y) : Boolean //前置条件: x, y为NaturalNumber //后置条件: if (x == y) 返回True else 返回 False Successor (x) : NaturalNumber //前置条件: x为NaturalNumber //后置条件: if (x == MaxInt) 返回 x else 返回 x+1 end NaturalNumber 继承 派生类(子类):四边形,三角形,… 基类(父类):多边形 通信 消息传递 C++中消息传递的方式: 定义:Point p; void move(int Δx, intΔy); 使用:p.move(x, y); C中则不同,需使用函数调用方式: 定义:Point p; void move(Point q, int Δx, intΔy); 使用:move(p, x, y); 算法定义 定义:一个有穷的指令集,这些指令为解决某一特定任务规定了一个运算序列 特性: 输入 有0个或多个输入
显示全部