数据结构第一章教学.ppt_第1页
数据结构第一章教学.ppt_第2页
数据结构第一章教学.ppt_第3页
数据结构第一章教学.ppt_第4页
数据结构第一章教学.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构 李鑫电信学院 2020 2 15 数据结构 3 学时数 72 48 24 教材 严蔚敏等 数据结构 C语言版 清华大学出版社 1997年4月第1版参考书 1 数据结构教程 李春葆 清华大学出版社 2 数据结构 用面向对象方法与C 描述 殷人昆等 清华大学出版社 1999年7月 3 苏光奎等 数据结构导学 清华大学出版社 2002年2月上课班级 计软11 1 2答疑时间 周三下午静远418 2020 2 15 数据结构 4 目录 绪论 1 线性表 2 栈和队列 3 串 4 数组和广义表 5 树和二叉树 6 2020 2 15 数据结构 5 目录 7 9 图 10 查找 11 内部排序 外部排序 2020 2 15 数据结构 6 内容安排 上机地点 耘慧楼210机房 2020 2 15 数据结构 7 数据结构课程的地位 针对非数值计算的程序设计问题 研究计算机的操作对象以及它们之间的关系和操作 是介于数学 计算机硬件和计算机软件三者之间的一门核心课程 关系 对象关系操作 对象关系操作 Data Structure D R 2020 2 15 数据结构 8 第1章绪论 讨论4个问题 1 1什么是数据结构1 2基本概念和术语1 3抽象数据类型的表示与实现1 4算法和算法分析 2020 2 15 数据结构 9 例1学生表 数据结构产生的背景 2020 2 15 数据结构 10 例2人机对奕问题 2020 2 15 数据结构 11 例3多叉路口交通灯管理问题 2020 2 15 数据结构 12 1 1什么是数据结构 是相互之间存在一种或多种特定关系的数据元素的集合 表示为 数值或非数值 Data Structure D R 是指同一数据元素类型中各元素之间存在的关系 元素有限集 关系有限集 2020 2 15 数据结构 13 数据结构是一门学科 针对非数值计算的程序设计问题 研究计算机的操作对象以及它们之间的关系和操作等等 程序设计 好算法 好结构 同样的数据对象 用不同的数据结构来表示 运算效率可能有明显的差异 1 1数据结构的定义 2020 2 15 数据结构 14 数据结构涵盖的内容 1 1数据结构的定义 2020 2 15 数据结构 15 数据 data 所有能被计算机识别 存储和处理的符号的集合 包括数字 字符 声音 图像等信息 数据元素 dataelement 是数据的基本单位 具有完整确定的实际意义 又称元素 结点 顶点 记录等 数据项 Dataitem 构成数据元素的项目 是具有独立含义的最小标识单位 又称字段 域 属性等 三者之间的关系 数据 数据元素 数据项 例 班级通讯录 个人记录 姓名 年龄 数据 数据元素和数据项 术语简介 1 2基本概念和术语 2020 2 15 数据结构 16 1 1数据结构的定义 2020 2 15 数据结构 17 集合结构 仅同属一个集合线性结构 一对一 1 1 树结构 一对多 1 n 图结构 多对多 m n 非线性 线性 逻辑结构可细分为4类 答 指数据元素之间的逻辑关系 即从逻辑关系上描述数据 它与数据的存储无关 是独立于计算机的 解释1 什么叫数据的逻辑结构 1 2基本概念和术语 2020 2 15 数据结构 18 1 S D R D a b c d e f R a e b c c a e f f d 解 上述表达式可用图形表示为 bcaefd 此结构为线性的 例 用图形表示下列数据结构 并指出它们是属于线性结构还是非线性结构 1 2基本概念和术语 2020 2 15 数据结构 19 d1d5d2d4d3 该结构是非线性的 解 上述表达式可用图形表示为 2 S D R D di 1 i 5 R di dj i j 1 2基本概念和术语 2020 2 15 数据结构 20 答 物理结构亦称存储结构 是数据的逻辑结构在计算机存储器内的表示 或映像 它依赖于计算机 存储结构可分为4大类 例 复数3 0 2 3i的两种存储方式 顺序 链式 索引 散列 法1 地址内容 法2 地址内容 2字节 解释2 什么叫数据的物理结构 1 2基本概念和术语 2020 2 15 数据结构 21 答 在数据的逻辑结构上定义的操作算法 它在数据的存储结构上实现 最常用的数据运算有5种 插入 删除 修改 查找 排序 解释3 什么是数据的运算 1 2基本概念和术语 2020 2 15 数据结构 22 1数据类型与抽象数据类型的区别 2抽象数据类型如何定义 3抽象数据类型如何表示和实现 讨论 抽象数据类型和伪码是学习数据结构的工具 1 3抽象数据类型的表示与实现 2020 2 15 数据结构 23 1数据类型与抽象数据类型的区别 数据类型 是一个值的集合和定义在该值上的一组操作的总称 抽象数据类型 由用户定义 用以表示应用问题的数据模型 它由基本的数据类型构成 并包括一组相关的服务 或称操作 它与数据类型实质上是一个概念 但其特征是使用与实现分离 实行封装和信息隐蔽 独立于计算机 1 3抽象数据类型的表示与实现 2020 2 15 数据结构 24 2抽象数据类型如何定义 抽象数据类型可以用以下的三元组来表示 ADT D R P ADT抽象数据类型名 数据对象 数据关系 基本操作 ADT抽象数据类型名 ADT常用定义格式 数据对象 D上的关系集 D上的操作集 1 3抽象数据类型的表示与实现 2020 2 15 数据结构 25 3抽象数据类型如何表示和实现 抽象数据类型可以通过固有的数据类型 如整型 实型 字符型等 来表示和实现 注1 它有些类似C语言中的结构 struct 类型 但增加了相关的服务 注2 教材中用类C语言 介于伪码和C语言之间 作为描述工具 但上机时要用具体语言实现 如C或C 等 1 3抽象数据类型的表示与实现 2020 2 15 数据结构 26 1 4 1什么是算法 如何评判一个算法的好坏 常用时间复杂度来衡量 算法的基本特性 算法评价指标 有穷性 确定性 可行性 有输入 必有输出 正确性 可读性 健壮性 效率与低存储量需求 常用空间复杂度来衡量 程序设计的实质 好算法 好结构 算法是对特定问题求解步骤的一种描述 它是指令的有限序列 是一系列输入转换为输出的计算步骤 4个层次 1 4算法和算法分析 2020 2 15 数据结构 27 1 4 2算法描述 1 4算法和算法分析 算法描述可以有多种方式 语言方式 图形方式和表格方式等本书采用C C 语言描述 2020 2 15 数据结构 28 1 4 1算法设计的目标 1 4算法和算法分析 正确性可使用性 用户友好性 可读性健壮性高效率与低存储量需求 2020 2 15 数据结构 29 1 3 2算法效率与分析 1 4算法和算法分析 一个算法是由控制结构 顺序 分支和循环 和原操作 指固有数据类型的操作 算法执行时间大致为基本运算所需的时间与其运算次数的乘积 2020 2 15 数据结构 30 算法中实现基本操作的语句 基本语句 重复执行的次数 称为算法的频度 记作 T n O f n 随问题规模n的增大 算法的频度T n 和f n 的增长率同阶 例1 x 5 单个语句的频度为1 则程序段的时间复杂度为T n O 1 1 4算法和算法分析 2020 2 15 数据结构 31 该算法的运行时间由程序中所有语句的频度 即该语句重复执行的次数 之和构成 解 分析 T n 2n2 2n 1当n充分大时 T n 与n2是同阶的 该算法时间复杂度为 T n O n2 算法的时间复杂度由嵌套最深层语句的频度决定 1 4算法和算法分析 2020 2 15 数据结构 32 例题s 0 1 for i 0 i n i n 1 for j 0 j m j n m 1 s B i j n m sum s 1 时间复杂度 T n O 2 n m 2n 3 O n m 1 4算法和算法分析 2020 2 15 数据结构 33 分析以下算法的时间复杂度 Voidfun inta intn intk inti i 0 while i n a i K i return i 算法时间复杂度O n 1 4算法和算法分析 2020 2 15 数据结构 34 1 4算法和算法分析 算法的空间分析 算法的存储量包括输入数据所占空间 程序本身所占空间和辅助变量所占空间空间复杂度是对一个算法在运行过程中临时占用的存储空间大小的量度记作 S n O g n 2020 2 15 数据结构 35 注 1 O 为渐近符号 2 空间复杂度S n 按数量级递增顺序也与上表类似 复杂度高 复杂度低 时间复杂度T n 按数量级递增顺序为 时间复杂度和空间复杂度如何表示 多项式阶 1 4算法和算法分析 2020 2 15 数据结构 36 本章小结 数据结构课程 数据结构 算法 程序 涉及数学 计算机硬件和软件 数据结构定义 指互相有关联的数据元素的集合 可用data Structure D R 表示 数据结构内容 数据的逻辑结构 存储结构和基本运算数据结构学习工具 抽象数据类型和伪码 类C 算法效率指标 时间效率和空间效率 第1章结束 2020 2 15 数据结构 37 作业 有下列几种用二元组表示的数据结构 画出它们分别对应的图形表示 并指出它们分别属于何种结构1 A K R 其中 K a b c d e f g h R r r 2 B K R 其中 K a b c d e f g h R r r 3 C K R K 1 2 3 4 5 6 R r r 1 2 2 3 2 4 3 4 3 5 3 6 4 5 4 6 2020 2 15 数据结构 38 课后复习 复习C语言 重点是结构类型和链表操作 递归概念 1 用循环嵌套的方法输出下面图形 3 已知一个链表中存储了若干名学生

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论