课程的重要性 数据结构是介于数学、计算机硬件和计算机软件 之间的一门计算机科学与技术专业的核心课程, 是编译原理、操作系统、数据库、人工智能等课 程的基础; 数据结构技术也广泛应用于信息科学、系统工程、 应用数学以及各种工程技术领域; 计算机程序设计的重要理论基础 程序=算法+数据结构 为计算机处理 问题编制的 处理问题的策略 问题的数学模型 组指令集
2 课程的重要性 • 数据结构是介于数学、计算机硬件和计算机软件 之间的一门计算机科学与技术专业的核心课程, 是编译原理、操作系统、数据库、人工智能等课 程的基础; • 数据结构技术也广泛应用于信息科学、系统工程、 应用数学以及各种工程技术领域; • 计算机程序设计的重要理论基础 • 程序 = 算法 + 数据结构 为计算机处理 问题编制的一 组指令集 处理问题的策略 问题的数学模型
与相关课程的关系 掌握数据组 掌握基本 织和数据处 掌握大型软 编程方法 理的方法 件开发方法 C语言>数据结构>软件工程 学习识字 学习写作文 学习写小说 与语文 学习过 程类似 动手能力(上机)
3 C语言 数据结构 软件工程 掌握基本 编程方法 掌握数据组 织和数据处 理的方法 掌握大型软 件开发方法 学习识字 学习写作文 学习写小说 与语文 学习过 程类似 动手能力(上机) 与相关课程的关系
课程目的 能够分析研究计算机加工的对象的特性,获得 其逻辑结构,根据需求,选择合适的存储结构 及其相应的算法 学习并掌握一些常用的算法 复杂程序设计的训练过程,要求编写的程序结 构清楚和正确易读 初步掌握算法的时间分析和空间分析的技术
4 课程目的 • 能够分析研究计算机加工的对象的特性,获得 其逻辑结构,根据需求,选择合适的存储结构 及其相应的算法 • 学习并掌握一些常用的算法 • 复杂程序设计的训练过程,要求编写的程序结 构清楚和正确易读 • 初步掌握算法的时间分析和空间分析的技术
第1章绪论 1.1什么是数据结构 1.2算法及其描述 1.3算法分析 1.4数据结构+算法=程序(略)
8 第1章 绪论 • 1.1 什么是数据结构 • 1.2 算法及其描述 • 1.3 算法分析 • 1.4 数据结构+算法=程序(略)
1.1什么是数据结构 1.1.1数据结构的定义 1.12逻辑结构类型 1.1.3存储结构类型 1.1.4数据结构和数据类型
9 1.1 什么是数据结构 • 1.1.1 数据结构的定义 • 1.1.2 逻辑结构类型 • 1.1.3 存储结构类型 • 1.1.4 数据结构和数据类型
111数据结构的定义 个层次的概念:数据、数据元素、数据项 ·数据:是所有能被输入到计算机中,且能被计算 机处理的符号的集合。 数据元素:是数据(集合)中的一个“个体”,是数 据的基本单位。不同的条件下可称为元素、结点、 顶点、记录等,通常作为一个整体考虑和处理。 数据项:组成数据元素的有特定意义的最小单位, 不可分割。 数据对象:是具有相同性质的若干个数据元素的 集合。 10
10 1.1.1 数据结构的定义 • 三个层次的概念:数据、数据元素、数据项 • 数据:是所有能被输入到计算机中,且能被计算 机处理的符号的集合。 • 数据元素:是数据(集合)中的一个“个体” ,是数 据的基本单位。不同的条件下可称为元素、结点、 顶点、记录等,通常作为一个整体考虑和处理。 • 数据项:组成数据元素的有特定意义的最小单位, 不可分割。 • 数据对象:是具有相同性质的若干个数据元素的 集合
例1.1有一个学生表如下所示,这个表中的数据元 素是学生记录每个数据元素由四个数据项即学号 姓名、性别和班号)组成。 数据项 表11学生 学号姓名 性别 班号 数据元素 张斌 9901 8 刘丽 男女女男男男女 9902 34 李英女 9901 20 陈华男 9902 12 王奇 9901 65 董强 9902 王萍 9901
11 •例1.1 有一个学生表如下所示,这个表中的数据元 素是学生记录,每个数据元素由四个数据项(即学号、 姓名、性别和班号)组成。 学号 姓名 性别 班号 1 张斌 男 9901 8 刘丽 女 9902 34 李英 女 9901 20 陈华 男 9902 12 王奇 男 9901 26 董强 男 9902 5 王萍 女 9901 表1.1 学生表 数据元素 数据项
例11学生档案管理系统 计算机处理的对象:◆数学模型:各种表格 表 元素间的关系:一对◆数据结构:线性结构 的线性关系 施加于对象上的操作:◆算法:如何进行各种 查询、插入、删除等查询 12
12 例1.1 学生档案管理系统 • 计算机处理的对象: 表 • 元素间的关系:一对 一的线性关系 • 施加于对象上的操作: 查询、插入、删除等 ◆ 数学模型:各种表格 ◆ 数据结构:线性结构 ◆ 算法:如何进行各种 查询
其他例人机博奕 格局 ○●○ ●×○× ○ ○
13 其他例 人-机博奕 …….. …….. …... …... …... …... 格局
人-机博奕 计算机处理的对象:◆数学模型:棋盘 格局树 元素间的关系:一·数据结构:树形结构 对多的层次关系 施加于对象上的操◆算法:博弈的规则和 作:查询、插入、策略 删除等 14
14 人-机博奕 • 计算机处理的对象: 格局树 • 元素间的关系:一 对多的层次关系 • 施加于对象上的操 作:查询、插入、 删除等 ◆ 数学模型:棋盘 ◆ 数据结构:树形结构 ◆ 算法:博弈的规则和 策略