数据结构第1章绪论数据构第1章绪论.ppt
文本预览下载声明
数 据 结 构(C语言版) 第1章 绪 论 1.1 什么是数据结构 1.2 学习数据结构的意义 1.3 数据结构涵盖的主要内容 1.4 什么是抽象数据类型 1.5 算法效率的度量 1.1 什么是数据结构 是相互之间存在一种或多种特定关系的数据元素的集合,是指同一数据元素类型中各元素之间存在的关系,表示为: 数据(data)——所有能被计算机识别、存储和处理的符号的集合(包括数字、字符、声音、图像等信息 )。 数据元素(data element)——是数据的基本单位,具有完整确定的实际意义(又称元素、结点,顶点、记录等)。 数据项(Data item)——构成数据元素的项目。是具有独立含义的最小标识单位(又称字段、域、属性 等)。 1.2 学习数据结构的意义 计算机内的数值运算依靠方程式,而非数值运算(如表、树、图等)则要依靠数据结构。 数据结构是一门学科,针对非数值计算的程序设计问题,研究计算机的操作对象以及它们之间的关系和操作等等。 1.3 数据结构涵盖的内容 (1) S=(D, R) D={ a, b, c, d, e, f } R={(a,e), (b,c), (c,a), (e,f), (f,d)} d1 d5 d2 d4 d3 答:物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。 答:在数据的逻辑结构上定义的操作算法。 它在数据的存储结构上实现。 1.4 什么是抽象数据类型 1.4.1 数据类型与抽象数据类型的区别 1.4.2 抽象数据类型如何定义 例:给出自然数(Natural Number )的抽象数据类型定义。 1.4.3 抽象数据类型如何表示和实现 抽象数据类型可以通过固有的数据类型(如整型、实型、字符型等)来表示和实现。 1.5 算法效率的度量 1.5.1 什么是算法?如何评判算法的好坏? 1.5.2 时间复杂度和空间复杂度如何表示? 1.5.3 计算举例 1.5.1 什么是算法?如何评判一个算法的好坏? 1.5.2 时间复杂度和空间复杂度如何表示? 3n+2=O(n) 因为 3n+2?4n for n?2 6*2n+n2=O(2n) 因为6*2n+n2 ?7*2n for n?4 1.5.3 计算举例 本章小结 数据结构课程—— 数据结构+算法=程序,涉及数学、计算机硬件和软件。 数据结构定义——指互相有关联的数据元素的集合,可用data_Structure=(D,R)表示。 数据结构内容——数据的逻辑结构、存储结构和基本运算 数据结构学习工具——抽象数据类型和伪码(类C) 算法效率指标——时间效率和空间效率 * * 数据结构课程的地位 ——针对非数值计算的程序设计问题,研究计算机的操作对象以及它们之间的关系和操作。 ——是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。 关系 对象 关系 操作 数学 软件 硬件 对象 关系 操作 Data_Structure=(D, R) 内 容 安 排 略 外部排序 11 3 数组和广义表 5 略 文件 12 9 树和二叉树 6 9 4 略 6 学时 内部排序 查找 动态存储管理 图 内 容 10 3 串 4 9 4 栈和队列 3 8 8 线性表 2 7 2 绪 论 1 章 学时 内 容 章 师生沟通渠道: 董凯宁老师信箱: dongkn@ 讨论5个问题: (数值或非数值) Data_Structure=(D, R) 元素有限集 关系有限集 三者之间的关系:数据 数据元素 数据项 例:班级通讯录 个人记录 姓名、年龄…… 数据、数据元素和数据项 术语简介: 程序设计=好算法+好结构 同样的数据对象,用不同的数据结构来表示,运算效率可能有明显的差异。 集合结构: 仅同属一个集合 线性结构: 一对一(1:1) 树 结 构: 一对多(1:n) 图 结 构: 多对多 (m:n) 非线性 线 性 逻辑结构可细分为4类: 答:指数据元素之间的逻辑关系。即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。 解释1: 什么叫数据的逻辑结构? 解: 上述表达式可用图形表示为: b c a e
显示全部