-数据结构1分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 动态规划:最长公共子序列(串)、数塔问题、0/1背包 (整数规划)
• 图搜索算法:广度优先搜索:回溯法 深度优先搜索:分支限界法
• 随机算法
2020年10月17日星期
7
六
数据结构&算法—区别
数据结构
算法设计与分析
高级程序设计语言(C, C++)
与数据结构的区别:
考虑问题的角度:数据结构关心不同的数据结构在解题中 的作用和效率;算法关心不同设计技术的适用性和效率。
2020年10月17日星期
3
六
《数据结构》教学要求
教材前言
• 《数据结构》是一门专业技术基础课。 • 要求:学会分析研究计算机加工的数据结
构的特性,以便为应用涉及的数据选择适 当的逻辑结构、存储结构及其相应算法, 并初步掌握算法的时间和空间复杂度分析 方法。
2020年10月17日星期
4
六
计算机科学课程体系(偏软)
<1,8>,<8,34>,<34,20>,<20,12>,<12,26>,<26,5>
其中尖括号“<ai,ai+1>”表示元素ai和ai+1之间是相邻的,即ai在 ai+1之前,ai+1在ai之后。
逻辑结构表示2
2020年10月17日星期
17
六
数据在计算机存储器中的存储方式就是存储结构。
逻辑结构
映射
六
第1章 绪论
1.1 什么是数据结构 1.2 算法及其描述 1.3 算法分析基础 1.4 数据结构+算法=程序
本章小结
2020年10月17日星期
10
六
1.1 什么是数据结构
1.1.1 数据结构的定义 1.1.2 逻辑结构类型 1.1.3 存储结构类型 1.1.4 数据结构和数据类型
2020年10月17日星期
Stud[0]
Stud[6]
考虑问题的高度:数据结构关心的是解具体问题,算法不 仅如此,它提供一种解决问题的通用方法。
2020年10月17日星期
8
六
教学内容(数据结构穿插算法)
第一章 绪论
第二章 线性表
第三章 栈和队列
第四章 串
第五章 数组和广义表
第六章 树
第七章 图
第九章 查找
第十章 内部排序 2020年10月17日星期
9
数据元素之间的逻辑关系,即数据的逻辑结构。
数据元素及其关系在计算机存储器中的存储方式,即数据 的存储结构,也称为数据的物理结构。
施加在该数据上的操作,即数据的运算。
2020年10月17日星期
14
六
例1.1 有一个学生表如表1.1所示。这个表中的数据元素 是学生记录,每个数据元素由四个数据项(即学号、姓别、 性别和班号)组成。
学习识字
学习写作文
学习写小说
动手能力(上机)
2020年10月17日星期 六
与语文 学习过 程类比
6
《算法》--求解问题的策略
• 迭代算法:递推法、倒推法、迭代法解方程
• 蛮力法:选择排序、冒泡排序、插入排序、顺序查找、朴 素的字符串匹配等
• 分治法:折半查找(二分搜索)、合并排序、快速排序等
• 贪心算法:哈夫曼编码(树)、迪杰斯特拉算法(图)、 最小生成树(克鲁斯卡尔算法、普里姆算法)、分数背包 等
前期课程
计算机基础 C语言 离散数学
2020年10月17日星期 六
承上 启下
数据结构
后期课程
操作系统 编译原理 数据库原理 软件工程 算法设计与分析 。。。。。
5
《数据结构》--数据组织与处理 基本
要求
掌握基百度文库编 程方法
掌握数据组 织和数据处 理的方法
掌握大型软 件开发方法
课程 关系
C语言 数据结构 软件工程
12
六
例如,长江大学计科1205班为一个学生数据对象,而学生 “专志武”就是其中的一个数据元素)。
数据结构:是指数据以及数据元素相互之间的联系。可以看 作是相互之间存在着某种特定关系的数据元素的集合。
因此,可时把数据结构看成是带结构的数据元素的集合。
2020年10月17日星期
13
六
数据结构包括如下几个方面:
2020年10月17日星期
15
六
学号
1
8
34 20 12 26 5
表1.1 学生表
姓名
张斌
刘丽
李英 陈华 王奇 董强 王萍
性别
男
女
女 男 男 男 女
2020年10月17日星期 六
班号
9901
9902
9901 9902 9901 9902 9901
逻辑结构表示1
16
该表中的记录顺序反映了数据元素之间的逻辑关系, 用学号 标识每个学生记录,这种逻辑关系可以表示为:
11
六
1.1.1 数据结构的定义
数据:是所有能被输入到计算机中,且能被计算机处理的 符号的集合。它是计算机操作的对象的总称,也是计算机 处理的信息的某种特定的符号表示形式。 数据元素:是数据(集合)中的一个“个体”,是数据的基 本单位。 数据对象:是具有相同性质的若干个数据元素的集合。
2020年10月17日星期
算法与数据结构
2020年10月17日星期
1
六
课程学习
教材:
• 数据结构(C语言版)严蔚敏,吴伟民 清华大学出版社 2007
参考书:
• 数据结构(用面向对象方法与C++描述)殷人昆等 清华大学 出版社 1999
• 数据结构教程(第3版) 李春葆等 清华大学出版社 2009(另 配套学习指导和上机指导两书,作为参考)
char class[4]; //存储班号
} Stud[7]={{1,“张斌”,“男”,“9901”},…,
{5,"王萍","女","9901"}};
2020年10月17日星期
19
六
结构体数组Stud各元素在内存中顺序存放,即第i(1≤i≤6)个 学生对应的元素Stud[i]存放在第i+1个学生对应的元素 Stud[i+1]之前,Stud[i+1]正好在Stud[i]之后。
学时:总学时72,理论52,上机20,4学时/周
考试方式:本课程为闭卷考试。其成绩评定方法:平时成绩占
30%,期末考试占70%。考试题型:选择题、填空题、判
断简答题、程序填空和设计题。考试时间:110分钟。
2020年10月17日星期
2
六
教学方式
理论教学 习题课(每章一次,考研) 程序单步跟进与分析 上机实验(必须用Visual C++)
存储结构
映射应满足两个条件: 存储元素 存储关系
2020年10月17日星期
18
六
C/C++语言中,通常采用结构体数组和链表两种方式实现 其存储结构。
存放学生表的结构体数组Stud定义为:
struct
{ int no;
//存储学号
char name[8]; //存储姓名
char sex[2];
//存储性别
• 图搜索算法:广度优先搜索:回溯法 深度优先搜索:分支限界法
• 随机算法
2020年10月17日星期
7
六
数据结构&算法—区别
数据结构
算法设计与分析
高级程序设计语言(C, C++)
与数据结构的区别:
考虑问题的角度:数据结构关心不同的数据结构在解题中 的作用和效率;算法关心不同设计技术的适用性和效率。
2020年10月17日星期
3
六
《数据结构》教学要求
教材前言
• 《数据结构》是一门专业技术基础课。 • 要求:学会分析研究计算机加工的数据结
构的特性,以便为应用涉及的数据选择适 当的逻辑结构、存储结构及其相应算法, 并初步掌握算法的时间和空间复杂度分析 方法。
2020年10月17日星期
4
六
计算机科学课程体系(偏软)
<1,8>,<8,34>,<34,20>,<20,12>,<12,26>,<26,5>
其中尖括号“<ai,ai+1>”表示元素ai和ai+1之间是相邻的,即ai在 ai+1之前,ai+1在ai之后。
逻辑结构表示2
2020年10月17日星期
17
六
数据在计算机存储器中的存储方式就是存储结构。
逻辑结构
映射
六
第1章 绪论
1.1 什么是数据结构 1.2 算法及其描述 1.3 算法分析基础 1.4 数据结构+算法=程序
本章小结
2020年10月17日星期
10
六
1.1 什么是数据结构
1.1.1 数据结构的定义 1.1.2 逻辑结构类型 1.1.3 存储结构类型 1.1.4 数据结构和数据类型
2020年10月17日星期
Stud[0]
Stud[6]
考虑问题的高度:数据结构关心的是解具体问题,算法不 仅如此,它提供一种解决问题的通用方法。
2020年10月17日星期
8
六
教学内容(数据结构穿插算法)
第一章 绪论
第二章 线性表
第三章 栈和队列
第四章 串
第五章 数组和广义表
第六章 树
第七章 图
第九章 查找
第十章 内部排序 2020年10月17日星期
9
数据元素之间的逻辑关系,即数据的逻辑结构。
数据元素及其关系在计算机存储器中的存储方式,即数据 的存储结构,也称为数据的物理结构。
施加在该数据上的操作,即数据的运算。
2020年10月17日星期
14
六
例1.1 有一个学生表如表1.1所示。这个表中的数据元素 是学生记录,每个数据元素由四个数据项(即学号、姓别、 性别和班号)组成。
学习识字
学习写作文
学习写小说
动手能力(上机)
2020年10月17日星期 六
与语文 学习过 程类比
6
《算法》--求解问题的策略
• 迭代算法:递推法、倒推法、迭代法解方程
• 蛮力法:选择排序、冒泡排序、插入排序、顺序查找、朴 素的字符串匹配等
• 分治法:折半查找(二分搜索)、合并排序、快速排序等
• 贪心算法:哈夫曼编码(树)、迪杰斯特拉算法(图)、 最小生成树(克鲁斯卡尔算法、普里姆算法)、分数背包 等
前期课程
计算机基础 C语言 离散数学
2020年10月17日星期 六
承上 启下
数据结构
后期课程
操作系统 编译原理 数据库原理 软件工程 算法设计与分析 。。。。。
5
《数据结构》--数据组织与处理 基本
要求
掌握基百度文库编 程方法
掌握数据组 织和数据处 理的方法
掌握大型软 件开发方法
课程 关系
C语言 数据结构 软件工程
12
六
例如,长江大学计科1205班为一个学生数据对象,而学生 “专志武”就是其中的一个数据元素)。
数据结构:是指数据以及数据元素相互之间的联系。可以看 作是相互之间存在着某种特定关系的数据元素的集合。
因此,可时把数据结构看成是带结构的数据元素的集合。
2020年10月17日星期
13
六
数据结构包括如下几个方面:
2020年10月17日星期
15
六
学号
1
8
34 20 12 26 5
表1.1 学生表
姓名
张斌
刘丽
李英 陈华 王奇 董强 王萍
性别
男
女
女 男 男 男 女
2020年10月17日星期 六
班号
9901
9902
9901 9902 9901 9902 9901
逻辑结构表示1
16
该表中的记录顺序反映了数据元素之间的逻辑关系, 用学号 标识每个学生记录,这种逻辑关系可以表示为:
11
六
1.1.1 数据结构的定义
数据:是所有能被输入到计算机中,且能被计算机处理的 符号的集合。它是计算机操作的对象的总称,也是计算机 处理的信息的某种特定的符号表示形式。 数据元素:是数据(集合)中的一个“个体”,是数据的基 本单位。 数据对象:是具有相同性质的若干个数据元素的集合。
2020年10月17日星期
算法与数据结构
2020年10月17日星期
1
六
课程学习
教材:
• 数据结构(C语言版)严蔚敏,吴伟民 清华大学出版社 2007
参考书:
• 数据结构(用面向对象方法与C++描述)殷人昆等 清华大学 出版社 1999
• 数据结构教程(第3版) 李春葆等 清华大学出版社 2009(另 配套学习指导和上机指导两书,作为参考)
char class[4]; //存储班号
} Stud[7]={{1,“张斌”,“男”,“9901”},…,
{5,"王萍","女","9901"}};
2020年10月17日星期
19
六
结构体数组Stud各元素在内存中顺序存放,即第i(1≤i≤6)个 学生对应的元素Stud[i]存放在第i+1个学生对应的元素 Stud[i+1]之前,Stud[i+1]正好在Stud[i]之后。
学时:总学时72,理论52,上机20,4学时/周
考试方式:本课程为闭卷考试。其成绩评定方法:平时成绩占
30%,期末考试占70%。考试题型:选择题、填空题、判
断简答题、程序填空和设计题。考试时间:110分钟。
2020年10月17日星期
2
六
教学方式
理论教学 习题课(每章一次,考研) 程序单步跟进与分析 上机实验(必须用Visual C++)
存储结构
映射应满足两个条件: 存储元素 存储关系
2020年10月17日星期
18
六
C/C++语言中,通常采用结构体数组和链表两种方式实现 其存储结构。
存放学生表的结构体数组Stud定义为:
struct
{ int no;
//存储学号
char name[8]; //存储姓名
char sex[2];
//存储性别