[计算机软件及应用]数据结构概念-树图的划分课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[计算机软件及应用]数据结构概念-树图的划分课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件及应用 计算机软件 应用 数据结构 概念 划分 课件
- 资源描述:
-
1、1 1第一章 数据结构概念数据结构电子教案数据结构电子教案2 2第一章第一章 数据结构概念数据结构概念3 3 学学 号号 姓姓 名名 性别性别 籍籍 贯贯 出生年月出生年月 1 98131 刘激扬刘激扬 男男 北北 京京 1979.12 2 98164 衣春生衣春生 男男 青青 岛岛 1979.07 3 98165 卢声凯卢声凯 男男 天天 津津 1981.02 4 98182 袁秋慧袁秋慧 女女 广广 州州 1980.10 5 98224 洪洪 伟伟 男男 太太 原原 1981.01 6 98236 熊南燕熊南燕 女女 苏苏 州州 1980.03 7 98297 宫宫 力力 男男 北北 京京
2、 1981.01 8 98310 蔡晓莉蔡晓莉 女女 昆昆 明明 1981.02 9 98318 陈陈 健健 男男 杭杭 州州 1979.124 4 课程编号课程编号 课课 程程 名名 学时学时 024002 程序设计基础程序设计基础 64 024010 汇编语言汇编语言 48 024016 计算机原理计算机原理 64 024020 数据结构数据结构 64 024021 微机技术微机技术 64 024024 操作系统操作系统 48 024026 数据库原理数据库原理 485 5学生学生( (学号学号, ,姓名姓名, ,性别性别, ,籍贯籍贯) )课程课程( (课程号课程号, ,课程名课程名,
3、,学分学分) )选课选课( (学号学号, ,课程号课程号, ,成绩成绩) )6 6UNIX文件系统的系统结构图文件系统的系统结构图/ (root)binlibuseretcmathdsswyintaoxieStack.cppQueue.cppTree.cpp7 7数据(数据(datadata)n数据是数据是信息信息的载体,是描述客观事物的数、的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计算字符、以及所有能输入到计算机中,被计算机程序识别和处理的符号的集合。机程序识别和处理的符号的集合。n数据的分类:数据的分类:u 数值性数据数值性数据u 非数值性数据非数值性数据8 8姓名姓名
4、 所在院系所在院系 性别性别 出生日期出生日期 年年 月月职务职务 业绩业绩数据元素数据元素 (data element)(data element)n数据的基本单位。在计算机程序中常作为数据的基本单位。在计算机程序中常作为一个整体进行考虑和处理。一个整体进行考虑和处理。n有时一个数据元素可以由若干有时一个数据元素可以由若干数据项数据项 (Data Item)组成。数据项是具有独立含义组成。数据项是具有独立含义的最小的最小标识单位。标识单位。n数据元素又称为元素、结点、记录。数据元素又称为元素、结点、记录。9 9什么是数据结构什么是数据结构定义定义: 由某一数据元素的集合以及该集合中所有由某一
5、数据元素的集合以及该集合中所有数据元素之间的关系组成。记为:数据元素之间的关系组成。记为: Data_Structure = D, R 其中,其中,D 是某一数据元素的集合,是某一数据元素的集合,R 是该是该集合中所有数据元素之间的关系的有限集合集合中所有数据元素之间的关系的有限集合1010例:例:N N 个网点之间的连通关系个网点之间的连通关系 15615243624311 11数据结构是数据的组织形式数据结构是数据的组织形式n包括三个方面:包括三个方面:u数据元素间的逻辑关系,即数据的数据元素间的逻辑关系,即数据的逻辑逻辑结构结构;u数据元素及其关系在计算机存储内的表数据元素及其关系在计算
6、机存储内的表示,即数据的示,即数据的存储表示存储表示;u数据的运算,即对数据元素施加的数据的运算,即对数据元素施加的操作操作。1212数据的逻辑结构数据的逻辑结构n数据的逻辑结构从逻辑关系上描述数据,数据的逻辑结构从逻辑关系上描述数据,与数据的存储无关;与数据的存储无关;n数据的逻辑结构可以看作是从具体问题抽数据的逻辑结构可以看作是从具体问题抽象出来的数据模型;象出来的数据模型;n数据的逻辑结构与数据元素本身的形式、数据的逻辑结构与数据元素本身的形式、内容无关;内容无关;n数据的逻辑结构与数据元素的相对存储位数据的逻辑结构与数据元素的相对存储位置无关。置无关。1313数据的逻辑结构分类数据的逻
7、辑结构分类n线性结构线性结构u 线性表线性表n非线性结构非线性结构u 树树u 图(或网络)图(或网络)1414线性结构线性结构树形结构树形结构树树 二叉树二叉树 二叉搜索树二叉搜索树bindevetclibuser141312112345678910315871011998745662313111515堆结构堆结构1235487111029164101211512369871616图结构图结构 网络结构网络结构125436113318146651619211256341717数据的存储结构数据的存储结构n数据的存储结构是逻辑结构用计算机语言数据的存储结构是逻辑结构用计算机语言的实现;的实现;n
8、数据的存储结构依赖于计算机语言。数据的存储结构依赖于计算机语言。u 顺序存储表示顺序存储表示u 链接存储表示链接存储表示u 索引存储表示索引存储表示u 散列存储表示散列存储表示主要用于内存的主要用于内存的存储表示存储表示主要用于外存主要用于外存 (文文件件) 的存储表示的存储表示1818抽象数据类型及面向对象概念抽象数据类型及面向对象概念n数据类型数据类型 定义:定义:一组性质相同的值的集合一组性质相同的值的集合, 以及定以及定义于这个值集合上的一组操作的总称义于这个值集合上的一组操作的总称.nC语言中的数据类型语言中的数据类型字符型字符型 整型整型 浮点型浮点型 双精度型双精度型 无值无值
9、1919n构造数据类型由构造数据类型由基本数据类型基本数据类型或或构造数据构造数据类型类型组成。组成。n构造数据类型由构造数据类型由不同成分类型不同成分类型构成。构成。n基本数据类型可以看作是计算机中已实现基本数据类型可以看作是计算机中已实现的数据结构。的数据结构。n数据类型就是数据结构,不过它是从编程数据类型就是数据结构,不过它是从编程者的角度来使用的。者的角度来使用的。n数据类型是模板,必须定义属于某种数据数据类型是模板,必须定义属于某种数据类型的变量,才能参加运算。类型的变量,才能参加运算。 2020抽象数据类型抽象数据类型 (ADTs(ADTs: Abstract Data Types
10、): Abstract Data Types)n抽象数据类型是由用户定义,用以表示应抽象数据类型是由用户定义,用以表示应用问题的数据模型。用问题的数据模型。n特点是:特点是:信息隐蔽信息隐蔽和和数据封装数据封装,使用与实使用与实现相分离现相分离。n抽象数据类型可用抽象数据类型可用(D, S, P)三元组表示,三元组表示,其中,其中,D 是数据元素的集合(简称数据对是数据元素的集合(简称数据对象),象),S 是是 D上的关系集合,上的关系集合,P 是对是对 D 的的基本操作集合。基本操作集合。 2121抽抽象象数数据据类类型型查找查找 登录登录 删除删除 修改修改 符符 号号 表表2222抽象数
11、据类型的描述抽象数据类型的描述n其中数据对象、数据之间的关系用伪码描其中数据对象、数据之间的关系用伪码描述;基本操作定义格式为述;基本操作定义格式为ADT 抽象数据类型名抽象数据类型名 数据对象:数据对象的定义数据对象:数据对象的定义 数据关系:数据关系的定义数据关系:数据关系的定义 基本操作:基本操作的定义基本操作:基本操作的定义 ADT 抽象数据类型名抽象数据类型名基本操作名(参数表)基本操作名(参数表)前置条件:先决条件描述前置条件:先决条件描述后置条件:操作结果描述后置条件:操作结果描述2323n基本操作有两种参数:基本操作有两种参数:赋值参数赋值参数只为操作提只为操作提供输入值;供输
12、入值;引用参数引用参数以以&打头,除可提供输打头,除可提供输入值外,还将返回操作结果。入值外,还将返回操作结果。n “前置条件前置条件”描述了操作执行之前数据结描述了操作执行之前数据结构和参数应满足的先决条件,若不满足,则构和参数应满足的先决条件,若不满足,则操作失败,并返回相应出错信息。操作失败,并返回相应出错信息。n “后置条件后置条件”说明了操作正常完成之后,说明了操作正常完成之后,数据结构的变化状况和应返回的结果。若前数据结构的变化状况和应返回的结果。若前置条件为空,则省略之。置条件为空,则省略之。2424自然数的抽象数据类型定义自然数的抽象数据类型定义ADT NaturalNumbe
13、r isobjects: 一个整数的有序子集合一个整数的有序子集合,它开始于它开始于0, 结束于机器能表示的最大整数结束于机器能表示的最大整数(MaxInt)。Function: 对于所有的对于所有的 x, y NaturalNumber; False, True Boolean, +、-、=、= 等都是等都是可用的服务。可用的服务。 Zero( ) : NaturalNumber /前置条件前置条件:无:无 /后置条件后置条件:返回自然数返回自然数02525IsZero(x) : Boolean /前置条件前置条件:x为为NaturalNumber /后置条件后置条件:if (x = 0)
14、then 返回返回True else 返回返回False Add (x, y) : NaturalNumber /前置条件前置条件:x, y为为NaturalNumber且且x+yMaxInt /后置条件后置条件:返回返回 x+y Subtract (x, y) : NaturalNumber /前置条件前置条件: x, y为为NaturalNumber且且xy /后置条件后置条件:返回返回 x- - y2626Equal (x, y) : Boolean /前置条件前置条件: x, y为为NaturalNumber /后置条件后置条件: if (x = y) 返回返回True else 返回
15、返回 False Successor (x) : NaturalNumber /前置条件前置条件: x为为NaturalNumber /后置条件后置条件: if (x = MaxInt) 返回返回 x else 返回返回 x+1end NaturalNumber2727面向对象的概念面向对象的概念n面向对象面向对象 = = 对象类继承通信对象类继承通信n对象对象u在应用问题中出现的各种在应用问题中出现的各种实体实体、事件事件、规格说明规格说明等。等。u由一组由一组属性值属性值和在这组值上的一组和在这组值上的一组服务服务(或称操作)构成。(或称操作)构成。u与与C中构造数据类型不同在于:中构造数
16、据类型不同在于:C中的中的构造数据类型的变量仅涉及属性值,与构造数据类型的变量仅涉及属性值,与操作分离,而操作分离,而C+中的对象则不然。中的对象则不然。2828n类类 (class),实例,实例 (instance)u具有相同属性和服务的对象归于同一类,具有相同属性和服务的对象归于同一类,形成类。形成类。u类中的对象为该类的实例。类中的对象为该类的实例。u同一类的实例同一类的实例 共享类的属性和类的操作;共享类的属性和类的操作; 通过继承共享其父类的公共的和保护通过继承共享其父类的公共的和保护性的属性和操作;性的属性和操作; 同一类的不同实例有不同的属性值。同一类的不同实例有不同的属性值。2
17、929四边形类及其对象四边形类及其对象属性aPoint1 aPoint2aPoint3 aPoint4服务服务Draw( )move(x, y)contains(aPoint)属性值属性值quadrilateral1quadrilateral2(35, 10) (50, 10)(35, 25) (50, 25)(45, 65) (50, 45)(65, 66) (60, 70)Draw( )move(x, y)contains(aPoint)Draw( )move(x, y)contains(aPoint)服务服务服务服务quadrilateral3030n继承继承u派生类(子类):派生类(子
18、类):四边形,三角形,四边形,三角形,u基类(父类):基类(父类):多边形多边形派生类派生类继承的特性继承的特性+特有的特性特有的特性基类基类多边形多边形四边形四边形三角形三角形六边形六边形3131n通信通信u消息传递消息传递uC+中消息传递的方式:中消息传递的方式: 定义:定义:Point p; void move(int x, inty); 使用:使用:p.move(x, y);uC中则不同,需使用函数调用方式:中则不同,需使用函数调用方式: 定义:定义:Point p; void move(Point q, int x, inty); 使用:使用:move(p, x, y);3232Dr
19、aw( )move(x, y)contains(aPoint)PolygonreferencePointVerticesPolygon 类类referencePointVerticesDraw( )move(x, y)contains(aPoint)Polygon的子类的子类Quadrilateral类类Quadrilateral3333算法定义算法定义n定义:定义:一个有穷的指令集一个有穷的指令集,这些指令为解,这些指令为解决某一特定任务规定了一个运算序列决某一特定任务规定了一个运算序列n特性:特性:u输入输入 有有0个或多个输入个或多个输入u输出输出 有一个或多个输出有一个或多个输出(处理
20、结果处理结果)u确定性确定性 每步定义都是确切无歧义的每步定义都是确切无歧义的u有穷性有穷性 算法应在执行有穷步后结束算法应在执行有穷步后结束u有效性有效性 每一条运算应足够基本每一条运算应足够基本3434n事例学习:事例学习:选择排序问题选择排序问题n明确问题:明确问题:递增排序递增排序n解决方案:解决方案:逐个选择最小数据逐个选择最小数据n算法框架:算法框架: for (int i = 0; i n-1; i+) /n-1趟趟 从从ai检查到检查到an-1; 若最小整数在若最小整数在ak, 交换交换ai与与ak; n细化程序:细化程序:程序程序 SelectSort 算法设计算法设计 自顶
21、向下,逐步求精自顶向下,逐步求精 3535 void selectSort ( int a , const int n ) /对n个整数a0,a1,an-1按递增顺序排序 for (int i = 0; i n-1; i+) int k = i; /从ai查到an-1, 找最小整数, 在ak for (int j = i+1; j n; j+) if (aj ak) k = j; int temp = ai; ai = ak; ak = temp; 3636模板模板 (template)(template)定义定义 适合适合多种数据类型多种数据类型的的类定义类定义或或算法算法,在特,在特定环境
展开阅读全文