版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Ch数据结构概论什么是数据构造抽象数据类型及面向对象概念算法定义模板算法简单性能分析与度量第一章 数据构造概念2Ch01数据构造概论013Ch01数据构造概论014学生(学号,姓名,性别,籍贯)课程(课程号,课程名,学分)选课(学号,课程号,成绩)Ch01数据构造概论015Ch01数据构造概论01/ (root)binlibuseretcmathdsswyintaoxieStack.cppQueue.cppTree.cpp6Ch01数据构造概论01数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计算机程序识别和处理的符号的集合。数据的分类: 数值性数据 非数值性数据7姓
2、名所在院系性别出生日期年 月职务业绩数据元素 (data element)数据的根本单位。在计算机程序中常作为一个整体进展考虑和处理。有时一个数据元素可以由假设干数据项 (Data Item)组成。数据项是具有独立含义的最小标识单位。数据元素又称为元素、结点、记录。8数据元素之间的关系数据元素和数据元素之间都不会是孤立的,而是有这样或那样的关系的,这种关系称为构造。9Ch01数据构造概论01定义: 由某一数据元素的集合以及该集合中所有数据元素之间的关系组成。记为: Data_Structure = D, R 其中,D 是某一数据元素的集合,R 是该集合中所有数据元素之间的关系的有限集合。10C
3、h01数据构造概论01 树形关系网状关系15615243624311数据构造是数据的组织形式包括三个方面:数据元素间的逻辑关系,即数据的逻辑构造;数据元素及其关系在计算机存储内的表示,即数据的存储表示;数据的运算,即对数据元素施加的操作。本书节先从逻辑的角度出发分析数据的构造类别。12数据的逻辑构造数据的逻辑构造从逻辑关系上描述数据,与数据的存储无关;数据的逻辑构造可以看作是从具体问题抽象出来的数据模型;数据的逻辑构造与数据元素本身的形式、内容无关;数据的逻辑构造与数据元素的相对存储位置无关。13数据逻辑构造的分类线性构造 线性表非线性构造 树 图或网络14线性构造树形构造树 二叉树 二叉搜索
4、树bindevetclibuser1413121123456789103158710119987456623131115堆构造 “最大堆 “最小堆12354871110291641012115123698716图构造 网络构造12543611331814665161921125634不难发现:树有层次感,而图和网络没有。17数据的存储构造数据的存储构造是逻辑构造用计算机语言的实现也叫物理构造;数据的存储构造依赖于计算机语言。 顺序存储表示 链接存储表示 索引存储表示 散列存储表示主要用于内存的存储表示主要用于外存 (文件) 的存储表示见课本P.6, 上数第2段 18Ch01数据构造概论01分析
5、实际问题,确定时空限制,建立数学模型数据的逻辑构造及根本运算。在计算机上实现把逻辑构造转换为物理构造,并实现运算。评价。19Ch01数据构造概论01数据类型 定义:一组性质一样的值的集合,以及定义于这个值集合上的一组操作的总称。C+语言中的根本数据类型 char int float double void 字符型 整型 浮点型 双精度型 无值 20构造数据类型由根本数据类型或构造数据类型组成。构造数据类型由不同成分类型构成。根本数据类型可以看作是计算机中已实现的数据构造。数据类型就是数据构造,不过它是从编程者的角度来使用的。数据类型是模板,必须定义属于某种数据类型的变量,才能参加运算。 21C
6、h01数据构造概论01抽象数据类型是由用户定义,用以表示应用问题的数据模型。特点是:信息隐蔽和数据封装,使用与实现相别离。抽象数据类型可用D, R, P三元组表示,其中,D 是数据元素的集合简称数据对象,R是 D上的关系集合,P 是对 D 的根本操作集合。 22抽象数据类型查找 登录 删除 修改 符 号 表23Ch01数据构造概论01其中数据对象、数据之间的关系用伪码描述;根本操作定义格式为ADT 抽象数据类型名 数据对象:数据对象的定义 数据关系:数据关系的定义 根本操作:根本操作的定义 ADT 抽象数据类型名根本操作名参数表前置条件:先决条件描述后置条件:操作结果描述24根本操作有两种参数
7、:赋值参数只为操作提供输入值;引用参数以&打头,除可提供输入值外,还将返回操作结果。 “前置条件描述了操作执行之前数据构造和参数应满足的先决条件,假设不满足,那么操作失败,并返回相应出错信息。 “后置条件说明了操作正常完成之后,数据构造的变化状况和应返回的结果。假设前置条件为空,那么省略之。25Ch01数据构造概论01ADT NaturalNumber IS Objects: 一个整数的有序子集合,它开场于0, 结 束于机器能表示的最大整数(MaxInt)。 Function: 对于所有的 x, y NaturalNumber; False, True Boolean, +、-、 0,返回 false;否那么返回trueDelete ( ID ):Student前置条件:学生信息表不空,且存在学号为ID的学生后置条件:删除学号为ID的学生,并返回被删学生信息 END Student30Ch01数据构造概论01 一般用if else来判断,也可以用C+提供的assert函数来实现。 如:assert ( x 0 ); 当程序运行到这句话时会判断条件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年大数据服务合同违约金问题及处理办法
- 2024版合法借款合同模板
- 2024年店铺经营权代理协议
- 2024年度电机维修配件销售与代理合同
- 2024年度安全环保施工与社区关系和谐协议
- 2024年保险合同(财产)
- 2024年度智能物流系统研发与实施合同
- 2024年度租赁合同标的及服务内容详细描述
- 对联课件名称教学课件
- 2024年卫星发射服务提供商与客户的发射合同
- 建筑施工安全生产责任书
- 新员工三级安全教育考试试题参考答案
- 公司年会策划及执行服务合同
- 概算审核服务投标方案(技术方案)
- 人教版(2019)选择性必修第二册Unit 2 Bridging Cultures Learning About Language教学设计
- 数学史简介课件可编辑全文
- 化工原理课程设计附录二
- 职业健康安全培训课件(共32张课件)
- 中医中药与免疫
- 人教新目标八年级英语上册《任务型阅读》专项练习题(含答案)
- 2024年度保密教育线上培训考试题库及答案(基础+提升)
评论
0/150
提交评论