文档介绍:21世纪高等院校规划教材数据结构(C语言版)
制作:赵坚邵明李兰
青岛理工大学
中国水利水电出版社
2017/6/26
1
本书介绍了各种常用的数据结构。共有10章
第1章: 绪论第6章: 树和二叉树
第2章: 线性表第7章: 图
第3章: 栈和队列第8章: 排序
第4章: 串第9章: 查找
第5章: 数组第10章:文件
2017/6/26
2
第1章绪论
本章主题:数据结构的基本概念和术语
教学目的:了解数据结构的基本概念,理解常用术语
教学重点:熟悉数据结构常用术语,掌握基本概念,了解算法
时间复杂度和空间复杂度的分析与评价
教学难点:数据元素间的 4 种结构关系。
主要内容: 什么是数据结构
算法描述
算法分析与评价
2017/6/26
3
数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。数据结构主要有三个方面的内容:
数据的逻辑结构、数据的存储结构和对数据的算法。
逻辑结构:反映数据之间的逻辑关系,是对数据之间关系的描述,主要有集合、线性表、树、图等四种结构。
物理结构:反映数据在计算机内部的存储安排,是数据结构在计算机中的实现方法。
主要有顺序、链接、散列、索引等四种基本存储结构,并可以根据需要组合成其它更复杂的结构。
算法:数据进行处理的方法。
什么是数据结构
2017/6/26
4
数据结构示例
【例1-1】图书目录表
由于表中每条记录(表示每一本书)的登录号各不相同,所以可用登录号来唯一地标识每条记录(一本图书)。在计算机的数据管理中,能唯一地标识一条记录的数据项被称为关键字。因为每本图书的登录排列位置有先后次序,所以在表中会按登录号形成一种次序关系,即整个二维表就是图书数据的一个线性序列。这种关系被称为线性结构。
2017/6/26
5
返回
返回
2017/6/26
6
描述磁盘目录和文件结构时,假设每个磁盘包括一个根目录(root)和若干个一级子目录,每个一级子目录中又包含若干个二级子目录….
这种关系很像自然界中的树,所以称为目录树。如左图所示。
【例1-2】磁盘目录结构和文件管理系统
在这种结构中,目录和目录以及目录和文件之间呈现出一对多的非线性关系。即根root有多个下属(也称为后代),每一后代又有属于自己的后代;而任一个子目录或文件都只有一个唯一的上级(也称为双亲)。称这种数学模型为树型数据结构。
2017/6/26
7
【例1-3】教学计划编排问题
假如一个教学计划中包含许多课程。在课程之间,有些必须按规定的先后次序排课,如:学C6课程必须先学C3课,学C3课程必须先学C1课。这些课程之间存在先修和后续的关系。
在这种结构中,表示课程的数据之间呈现多对多的非线性关系,称这类数学模型为图形结构。
2017/6/26
8
图结构还有:多岔路口交通灯的控制和管理、煤气管道的铺设造价等。
通过以上几例可以认为:数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。
2017/6/26
9
基本概念和术语
(Data)
数据(Data):是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。包括文字、表格、图象等。
例如,一个图书管理程序所要处理的数据可能是一张表格。如表1-1所示。
(Data Element)
数据元素(Data Element):是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。
2017/6/26
10