- 1
- 0
- 约9.94千字
- 约 52页
- 2019-11-02 发布于广西
- 举报
——主讲:赵红丹 Email:@126.com 学习提要 1.1 什么是数据结构 1.2 基本概念 1.3 抽象数据类型 1.4 算法及其分析 学习提要 1.1 什么是数据结构 形成背景:计算机应用由科学计算——〉控制、管理、数据处理;加工对象由纯数值——〉字符、表格、图象、声音等具有一定结构的数据 程序=算法+数据结构 用计算机解决问题的过程 引 例 引 例 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。 1.2 基本概念和术语 1.2.1 几个名词 1、数据(data) 数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合, 是计算机程序加工的”原料”。 分类: 数值性数据 非数值性数据 2、数据元素 (data element) 数据的基本单位。在计算机程序中常作为一个整体进行考虑和处理。 有时一个数据元素可以由若干数据项(DataItem)组成。数据项是数据不可分割的最小标识单位。 数据元素又称为元素、结点、记录。 3、数据对象 (data object) 数据对象是具有相同性质的数据元素的集合。 整数数据对象 N = { 0, ?1, ?2, … } 字母字符数据对象 C={‘A’,’B’,…,’Z’} 学生成绩数据对象 Cj={(‘101’,‘jane’,80), (‘102’,‘jack’,90 ), (‘103’,‘jerry’,75 )} 4、数据结构 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 换句话说,数据结构是带“结构”的数据元素的集合。 “结构”即指数据元素之间存在的关系。 数据结构是一堆数据元素和这些数据元素之间的关系的总和。 可以用下述数据结构来描述2行3列的矩阵: 它是一个含6个数据元素{a1,a2,a3,a4,a5,a6} 的集合, 且集合上存在“行关系”和“列关系”两个次序关系,其中 行关系为{a1,a2,a2,a3,a4,a5,a5,a6} 列关系为 {a1,a4,a2,a5,a3,a6}。 x,y 意为 x 和 y 之间存在 x领先于y 的次序关系。 某校一个年级有两个班,由一个级主任带班,每个班按所住宿舍分组,他们之间的关系可如下描述:{ 班主任,班长1,班主任,班长2,班长1,舍长1,……,班长2,舍长p,舍长1,学生1,舍长1,学生2,……,舍长p,学生n } 4、数据结构的形式定义 数据结构研究的主要内容: 数据的逻辑结构:反映数据元素间的逻辑关系 包括线性结构、树形结构、图形结构 数据的物理(存储)结构:反映数据元素及其关系在计算机存储器内的存储安排; 包括:顺序存储、 链接存储、 索引存储、 散列存储 数据的运算:对数据元素施加的操作,如插入、删除、排序等。 5. 数据的逻辑结构 数据的逻辑结构从逻辑关系上描述数据,可以看作是从具体问题抽象出来的数据模型,与数据的存储无关,也与数据元素本身的形式、内容、相对位置无关; 数据的逻辑结构分类: 线性结构 线性表、栈、队列 、串 非线性结构 树 、图(或网络) 6. 数据的存储结构 数据的存储结构是逻辑结构用计算机语言的实现,依赖于计算机语言; 存储结构分类: 顺序存储表示 链接存储表示 索引存储表示 散列存储表示 存储结构的描述 存储结构的描述方法随编程环境的不同而不同,通常可用高级编程语言中提供的数据类型描述之。 例如,用一维数组类型描述顺序存储结构,用指针描述链式存储结构。 算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。 1.3 抽象数据类型 1.数据类型 定义:一组性质相同的值的集合, 以及定义于这个值集合上的一组操作的总称. C语言中的基本数据类型 char int float double void 字符型 整型 浮点型 双精度型 无值 数据类型是模板,必须定义属于某种数据类型的变量,才能参加运算。 基本数据类型可以看作是计算机中已实现的数据结构。 构造数据类型由基本数据类型或构造数据类型组成。 2. 抽象数据类型的概念 (ADT: Abstract Data Types) 由用户定义,用以表示应用问题的数据模型 指一个数学模型以及定义在此数学模型上的一组操作。 例如:
原创力文档

文档评论(0)