《数据结构》教案范本模板Word格式文档下载.docx
《《数据结构》教案范本模板Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《数据结构》教案范本模板Word格式文档下载.docx(61页珍藏版)》请在冰豆网上搜索。
33、外部排序、各种排序方法的比较
34、文件
编号
1
周次
日期
9。
3
课时安排
2
课题
数据结构的概念及相关术语
教材的重点、难点分析
重点:
(1)数据结构的逻辑结构
(2)数据结构的存储结构
(3)抽象数据类型的概念
教
学
目
标
掌握数据、数据元素、数据对象的概念
熟练掌握数据结构的概念及其逻辑结构和物理结构的分类
掌握抽象数据类型的定义方法
教学方法和教学手段
讲授法
多媒体
过
程
教学内容安排与板书设计:
第一章绪论
1.1什么是数据结构
非数值计算问题举例
《数据结构》产生的背景
《数据结构》在计算机科学中的地位和作用
1.2基本概念和术语
数据
数据元素
数据对象
数据结构的形式定义Data—Structure=(D,S)
数据的逻辑结构及分类:
集合、线性、树形、图形结构
数据的物理结构:
顺序存储结构与链式存储结构
数据类型
抽象数据类型
抽象数据类型的形式定义ADT=(D,S,P)
抽象数据类型定义举例—Triplet
师生双边活动:
提问:
什么是数据类型?
举例:
演示实验:
教具准备:
课后作业
1。
2,1。
19
教学后记
教材:
[1]严蔚敏吴伟民编著:
数据结构(C语言版),清华大学出版社,1997年
参考书目:
[1]WirthN:
Algorithms+DataStructures=Programs,Prentice—HallInc。
,1976
[2][美]S巴斯:
计算机算法:
设计和分析引论,复旦大学出版社,1985
9.6
抽象数据类型的表示与实现、算法和算法分析
重点:
(1)算法复杂度的分析方法
难点:
(1)理解数据抽象的意义
(2)熟悉类C语言
(3)掌握抽象数据类型的表示和实现方法
(4)掌握算法描述和算法分析的方法
教学内容安与排板书设计:
1.3抽象数据类型的表示和实现
数据抽象的意义
类C语言
抽象数据类型的表示和实现举例
1.4算法和算法分析
算法
算法的定义
算法的特性:
有穷性、确定性、可行性、输入、输出
算法设计的要求
正确性、可读性、健壮性、效率与低存储量需求
算法效率的度量
时间度量的方法分析
时间复杂度
T(n)=O(f(n))
时间复杂度的计算
算法的存储空间需求
S(n)=O(f(n))
师生双边活动:
举例:
教具准备:
1.4,1。
20
10
线性表的类型定义、线性表的顺序表示和实现
(1)顺序表的基本运算
(2)顺序表上实现的各种算法的时间性能分析
(1)理解线性表的逻辑结构特征
(2)熟练掌握顺序表的描述方法、特点及有关概念
(3)熟练掌握顺序表的基本运算
第二章线性表
线性结构的特点
2.1线性表的类型定义
线性表的定义及其表示
线性表的类型定义
线性表操作举例:
用线性表表示集合、线性表的合并
2.2线性表的顺序表示和实现
线索性表的顺序表示
线性表的顺序存储结构的定义及其特征
顺序表的基本运算
顺序表的初始化
顺序表的插入操作
顺序表的删除操作
顺序表的合并
顺序表基本操作的时间复杂度计算
提问:
2。
12
4
13
线性表的链式表示和实现(线性链表)
(1)链表的基本运算
(2)链表上实现的各种算法的时间性能分析
(1)熟练掌握链表的描述方法、特点及有关概念
(2)掌握链表的基本运算
(3)掌握静态链表的构造方法
2.3线性表的链式表示和实现
2.3.1线性链表
单链表的定义
单链表的存储结构特征
单链表的基本操作:
插入
删除
有序链表的合并
静态链表
静态链表的定义
静态链表的操作举例
malloc()free()
演示实验:
2.17,2。
25
5
17
循环链表、双向链表、一元多项式的表示及相加
(1)循环链表
(1)掌握循环链表的特点
(2)掌握双向链表的特点
(3)从时空角度综合比较顺序表和链表的不同特点及使用场合
(4)能应用线性表解决一些实际问题
2.3.2循环链表
循环链表的定义
循环链表的操作
2.3.3双向链表
双向链表的定义
双向链表的操作特点
线性链表的类型定义
2.4一元多项式的表示及相加
一元多项式的表示
一元多项式的相加
一元多项式的类型定义
多项式的相加算法
32
6
9.20
栈、栈应用举例(数制转换、括号匹配、行编辑)
(1)栈在两种存储结构上实现的基本运算。
栈满栈空的条件及它们的描述
(1)掌握栈这种数据结构的特点
(2)熟悉栈与线性表的关系
(3)重点掌握顺序栈和链式栈的五种基本运算
(4)掌握栈的应用方法
第三章栈与队列
3.1栈
3.1.1抽象数据类型栈的定义
栈及其与线性表的关系
栈的类型定义
3.1.2栈的表示和实现
顺序栈的定义
链栈的定义
3.2栈的应用举例
3.2.1数制转换
3.2.2括号匹配的检验
3.2.3行编辑程序
3.15
7
24
迷宫求解、表达式求值、栈与递归的实现
(1)能应用栈解决一些实际问题
(2)了解递归算法执行过程中栈的变化过程
3.2.4迷宫求解
3.2.5表达式求值
3.3栈与递归的实现
3。
19,3。
8
27
队列
(1)队列在两种存储结构上实现的基本运算.
(1)循环队列(注意队满队空的条件及它们的描述)
(1)掌握队列这种数据结构的特点
(2)熟悉队列与线性表的关系
(3)掌握循环队列和链式队列的五种基本运算
(4)能应用队列解决一些实际问题
教学内容安排与板书设计:
3.4队列
3.4.1抽象数据类型队列的定义
队列的定义(FIFO)
队列的类型定义
3.4.2链队列—队列的链式表示和实现
单链队列的定义
单链队列的操作
3.4.3循环队列—队列的顺序表示和实现
队列的顺序存储结构
循环队列的基本操作
29
9
10.1
机动
10。
习题课
11
10.8
串类型的定义、串的表示和实现
(1)串的基本运算
(1)串的动态存储结构
(1)熟悉串的有关概念,串与线性表的关系
(2)掌握串的静态存储结构与动态存储结构和它们的优缺点
(3)熟练掌握串的基本运算
第四章串
4.1串类型的定义
串的概念
串类型的定义
4.2串的表示和实现
4.2.1定长顺序存储表示
串的定长顺序存储表示
串联接
求子串
4.2.2堆分配存储表示
串的堆分配存储表示
堆的基本操作
4.2.3串的块链存储表示
4.17,4.22/4。
10.11
串的模式匹配算法、串操作应用举例
(1)理解串的模式匹配算法
(2)了解串的应用
4.3串的模式匹配算法
4.3.1求子串位置的定位函数
4.3.2模式匹配的一种改进算法
KMP算法
4.4串操作应用举例
4.4.1文本编辑
4.8
10.15
数组的定义、顺序表示和实现、矩阵的压缩存储
(1)多维数组的存储方式
(2)矩阵的压缩存储方式
(1)稀疏矩阵的压缩存储表示下实现的算法
(1)熟悉数组的按行(列)优先顺序的存储结构中的地址计算方法
(2)熟悉特殊矩阵在压缩存储时的下标变换
(3)理解稀疏矩阵的三元组和十字链表两种压缩存储表示
第五章数组和广义表
5.1数组的定义
数组的类型定义
二维数组
5.2数组的顺序表示和实现
二维数组的存储方式
数组的顺序存储表示和实现
5.3矩阵的压缩存储
5.3.1特殊矩阵
对称矩阵
对角矩阵
5.3.2稀疏矩阵
稀疏矩阵的类型定义
1、三元组顺序表
5.21
14
18
稀疏矩阵的存储结构、广义表的定义和存储结构
(1)广义表的定义及其运算
(1)掌握稀疏矩阵的存储结构
(2)熟悉广义表的有关概念和运算
(3)掌握广义表的两种存储结构
2、行逻辑链接的顺序表
3、十字链表
5.4广义表的定义
广义表的类型定义
广义表举例
广义表的特点
5.5广义表的存储结构
讨论:
M元多项式的表示
广义表的递归算法
5。
26,5.12
15
22
树的定义和基本术语、二叉树的定义
(1)树的基本术语
(2)二叉树的定义
(1)掌握树的定义和有关术语
(2)熟悉二叉树的递归定义,有关术语及基本概念
第六章树和二叉树
6.1树的定义和基本术语
树的类型定义
基本术语
6.2二叉树
6.2.1二叉树的定义
二叉树的类型定义
二叉树的基本形态
6.2
16
二叉树的性质和和存储结构
(1)二叉树的存储结构
(1)二叉树的性质
(1)熟练掌握二叉树的性质及证明方法
(2)熟练掌握二叉树的顺序和链式存储结构及特点
6.2.2二叉树的性质
性质1
性质2
性质3
性质4
性质5
6.2.3二叉树的存储结构
顺序存储结构
链式存储结构
6.6,6.11
遍历二叉树和线索二叉树
(1)二叉树的遍历算法及其相关应用
难点:
(1)二叉树的非递归遍历算法
(1)熟练掌握二叉树的各种遍历
(2)能灵活运用遍历算法实现二叉树的基本运算
(3)掌握二叉树的线索化及相应算法
6.3遍历二叉树和线索二叉树
6.3.1遍历二叉树
遍历二叉树的递归算法
先序遍历
中序遍历
后序遍历
遍历二叉树的非递归算法
遍历二叉树的其他算法
二叉树的其他操作
6.3.2线索二叉树
线索二叉树及其存储结构
二叉树的线索化
6。
43,6。
47,6.56
11。
树和森林
(1)树的存储结构
(1)森林、树与二叉树之间的转换
(1)掌握树的存储结构及其特点
(2)熟练掌握森林、树与二叉树之间的转换方法
(3)掌握森林和树的遍历
6.4树和森林
6.4.1树的存储结构
双亲表示法
孩子表示法
孩子兄弟表示法
6.4.2森林与二叉树的转换
森林与二叉树的对应关系
二叉树与森林的对应关系
6.4.3树和森林的遍历
先序遍历森林
中序遍历森林
6.60,6.66
赫夫曼树及其应用
(1)赫夫曼编码
(1)掌握最优化二叉树的特性、熟练掌握建立最优二叉树的方法
(2)熟练掌握哈夫曼编码的方法
6.6赫夫曼树
6.6.1最优二叉树
最优二叉树的概念
构造赫夫曼树
最优判定算法
6.6.2赫夫曼编码
求赫夫曼编码
26
11.8