《数据结构》教案(总72页)

上传人:29 文档编号:33614112 上传时间:2021-10-18 格式:DOC 页数:74 大小:381KB
收藏 版权申诉 举报 下载
《数据结构》教案(总72页)_第1页
第1页 / 共74页
《数据结构》教案(总72页)_第2页
第2页 / 共74页
《数据结构》教案(总72页)_第3页
第3页 / 共74页
资源描述:

《《数据结构》教案(总72页)》由会员分享,可在线阅读,更多相关《《数据结构》教案(总72页)(74页珍藏版)》请在装配图网上搜索。

1、教学单元(章节): 第一章:绪论 1.1 数据结构概念教学目的: 理解学习数据结构的重要意义 掌握数据结构的基本概念知识要点: 数据结构、逻辑结构、物理结构、算法4种数据的存储结构、程序与数据结构技能要点: 数据结构、4种基本的数据结构、 4种数据的存储结构教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P11;1、2课后分析与小结: 本节课的重点: 数据结构有关概念和术语 难点: 学习数据结构的意义审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第一章:绪论 1.1数据结构概念1.1.1 为什么要学习数据结构1计算机处理问题的分

2、类 (1)数值计算问题 (2)非数值性问题2非数值问题求解 算法+数据结构=程序 数据结构:是指数据的逻辑结构和存储结构 算法:是对数据运算的描述1.1.2 有关概念和术语 数据 数据元素 数据项 数据结构:集合、线性、树型、图状数据结构:包括物理结构、逻辑结构数据的四种基本存储方法(1)顺序存储方法(2)链接存储方法(3)索引存储方法(4)散列存储方法教 师 授 课 教 案教学单元(章节): 第一章:绪论 1.2 算法描述 1.3 算法分析教学目的: 理解算法的定义、特性、描述方法掌握简单的时间复杂度的估计知识要点: 算法的特性、描述方法、算法编制的质量要求、数据结构的基本操作、时间复杂度、

3、空间复杂度、技能要点: 描述算法、分析简单算法的时间复杂度教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P11;3、4课后分析与小结: 本节课的重点:算法的特点和描述,算法分析 难点:算法时间复杂度的估计审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第一章:绪论1.2算法描述1.2.1算法特性(1) 有穷性(2)确定性(3)可行性(4)输入(5)输出好的算法的特点(1) 正确 (2) 可读 (3) 健壮 (4) 高效数据结构的基本操作:(1)查找(2)读取(3)插入(4)删除(5)修改1.2.2 算法描述算法描述的种类:(1)

4、框图/流程图算法(2)非形式算法(3)伪语言算法 (4)高级语言算法1.3 算法分析时间复杂度:解决某问题所花费的时间大小,即程序运行从开始到结束所需要的时间,记为T (n)空间复杂度:解决某问题的程序完全运行时所占用的存储空间大小,记为S (n)【例】算法MatrixMultidy的时间复杂度T(n)如(1.1)式所示,当n趋向无穷大时,显然有 教 师 授 课 教 案教学单元(章节): C语言 第七章:数组 7.1 一维数组的定义和引用7.2 二维数组的定义和引用7.3 字符数组教学目的: 理解一维数组、二维数组、字符数组的定义 掌握一维数组、二维数组、字符数组的引用和初始化方法 掌握一维数

5、组、二维数组、字符数组的简单应用程序知识要点: 一维数组、二维数组、字符数组的定义、引用、初始化 一维数组、二维数组、字符数组相关的简单程序技能要点: 用数组来处理相关问题的程序 教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P152;7.1 P152;7.3P153;7.11 P153;7.15课后分析与小结: 本节重点:数组的定义、引用、初始化本节难点:用数组求解简单的问题审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第七章 数组7.1 一维数组的定义和引用7.1.1一维数组的定义7.1.2一维数组的引用7.1.3一维数组

6、的初始化7.1.4一维数组程序举例7.2 二维数组的定义和引用7.2.1二维数组的定义7.2.2二维数组的引用7.2.3二维数组的初始化7.2.4二维数组程序举例7.3 字符数组7.3.1字符数组的定义7.3.2字符数组的初始化7.3.3字符数组的引用7.3.5字符数组的输入输出教 师 授 课 教 案教学单元(章节): C语言 第十章:指针 10.1 地址和指针的概念10.2 变量的指针和指针变量教学目的: 理解地址和指针的概念 掌握指针变量的定义和引用知识要点: 地址、指针、指针变量的定义和引用、指针变量作为函数参数技能要点: 指针变量的定义和引用 指针变量作为函数参数教学方法: 讲授+演示

7、教具及教学手段: 投影作业布置情况: P278;10.1 P278;10.2课后分析与小结: 本节重点:指针的含义、指针变量的引用本节难点:指针变量的引用、指针变量作为函数参数审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注C语言 第十章:指针10.1 地址和指针的概念1地址的概念2. 指针的概念10.2 变量的指针和指针变量10.2.1 定义一个指针变量1.定义指针变量的一般形式: 基类型 * 指针变量名2.定义指针变量的注意事项10.2.2 指针变量的引用1. & 取址运算符。2. * 指针运算符,10.2.3 指针变量作为函数参数(1)

8、使一个指针变量指向另一个变量(2)通过指针变量访问整型变量教 师 授 课 教 案教学单元(章节): C语言 第十章:指针 10.3.1 指向数组元素的指针10.3.2 通过指针引用数组元素10.4.1 字符串的表现形式10.8 指针运算小结教学目的: 掌握通过指针引用数组元素理解字符串的表现形式掌握指针的相关运算知识要点:数组与指针、字符串与指针、指针运算技能要点:通过指针引用数组元素、字符串的表现形式 指针的各种运算教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P279;10.6 P279;10.9 课后分析与小结: 本节重点:指针运算、通过指针引用数组元素和字符串本节难点:通

9、过指针引用数组元素、字符串审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注10.3 数组与指针10.3.1 指向数组元素的指针定义一个指向数组元素的指针变量10.3.2 通过指针引用数组元素数组元素的引用可以用 1. 下标法: ai2. 指针法: *(a+i) 或 *(p+i) 10.4 字符串与指针10.4.1 字符串的表现形式1. 用字符数组存放一个字符串2. 用字符指针指向一个字符串3字符串常量和字符指针的初始化10.8 指针运算小结10.8.1 有关指针的数据类型的小结10.8.2 指针运算小结1.指针变量的加减2.指针变量赋值3.指

10、针变量的比较教 师 授 课 教 案教学单元(章节): C语言 第十一章:结构体与共用体 11.1-11.5.1 结构体11.7.3 处理动态链表所需的函数11.10 用typedef定义类型教学目的:掌握结构体变量的定义、引用和初始化 掌握处理动态链表所需的函数掌握用typedef定义类型知识要点:结构体变量、结构体数组,malloc函数calloc函数、free函数、typedef 技能要点: 结构体变量的定义、引用和初始化用typedef定义类型教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P318;11.1P318;11.5课后分析与小结: 本节重点:结构体变量、处理动态链

11、表所需的函数本节难点:结构体变量的引用和初始化、用typedef定义类型审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第十一章:结构体与共用体11.1 概述11.2定义结构体类型变量的方法1. 先定义结构体类型,再用类型标识去定义变量2. 定义类型的同时定义变量 3. 直接定义结构体类型变量11.3 结构体变量的引用1. 结构体变量各成员的引用引用形式:结构体变量名 . 成员名2. 结构体变量各成员的输入、输出11.4 结构体变量的初始化11.5 结构体数组1.结构体数组的定义 2.结构体数组的初始化3.结构体数组stu的存储结构 4.结构

12、体数组的引用11.6 指针与结构体1. 指向结构体变量的指针2. 指向结构体变量的指针与结构体变量的等价关系11.7 用指针处理链表11.7.3 处理动态链表所需的函数内存分配函数原型: void *malloc(unsigned size); 内存分配函数原型: void *calloc(unsigned size);内存释放函数原形:void free(void *p);11.10 用typedef定义类型1、使用的一般形式:typedef 原类型名 新类型名;2.用typedef定义类型的方法(举例) 先按定义数组变量形式书写:int n100; 将变量名换成新类型名:intNUM; 在

13、最前面加上typedef: typedef int NUM; 用新类型名来定义变量:NUM;3.用typedef定义类型的说明:(1) 用typedef可以声明各种类型名,但不能用来定义变量。(2)用typedef只是对已经存在的类型增加一个类型名,而没有创造新的类型。(3) 使用typedef有利于程序的通用与移植。教 师 授 课 教 案教学单元(章节): 第二章:线性表 2.1 线性表的逻辑结构 2.2 线性表的顺序存储及操作实现教学目的: 理解顺序表的定义、特点及其主要操作掌握插入与删除算法中数据元素的平均移动次数知识要点: 线性表的定义、特点、基本操作顺序表的定义、特点和存储顺序表的初

14、始化、插入、删除、查找操作,应用举例技能要点: 线性表的逻辑结构及基本操作线性表的顺序存储结构及其基本操作实现教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P37;1P38;6课后分析与小结: 本节重点:线性表的定义、特点和顺序表的基本操作 本节难点:顺序表的插入和删除算法及其时间复杂度审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注2.1 线性表的逻辑结构2.1.0 线性表的实际例子2.1.1 线性表的定义2.1.2 线性表的基本操作1. 初始化:Init_List(L) 2. 置空:Setnull_List(L) 3. 求长

15、度:Length_List(L) 4. 取表元:Get_List(L,i) 5. 查找:Locate_List(L,x) 6.插入:Insert_List(L,x)7.删除:Delete_List(L,i) 2.2线性表的顺序存储结构2.2.1 线性表的顺序存储结构1.顺序表的定义和特点2.顺序表的存储和类型定义2.2.2 顺序表的基本算法实现1. 初始化顺序表L2. 插入3. 删除4. 按值查找教 师 授 课 教 案教学单元(章节): 第二章:线性表 2.3.1 单链表2.3.2 单链表上基本运算的实现教学目的: 掌握单链表的定义、特点及存储结构掌握单链表的查找、插入与删除算法 理解带首结点

16、的单链表的优点知识要点: 单链表的定义、特点、标识、结点结构和存储结构单链表的建立、求表长、查找、插入和删除算法技能要点: 单链表的结点结构和存储结构单链表的查找、插入与删除算法教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P38;8课后分析与小结: 本节重点:单链表的定义、特点和存储结构基本操作 本节难点:单链表的查找、插入和删除算法审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注2.3 线性表的链式存储结构2.3.1 单链表1.单链表的定义和特点2.单链表的存储结构和类型定义2.3.2 单链表上的基本运算的实现1.建立单链表

17、 (1)头部插入法建立 (2)尾部插入法建立2.求表长(1)带头结点的单链表 (2)不带头结点的单链表3.查找操作(1)按序号查找(2)按值查找4.插入操作(1)后插节点(2)前插节点(3)插入运算5.删除操作 (1)删除节点(2)删除运算 教 师 授 课 教 案教学单元(章节): 第二章:线性表 2.3.3 循环链表2.3.4 双向链表 教学目的: 掌握单链表的定义、特点及存储结构掌握单链表的查找、插入与删除算法 理解带首结点的单链表的优点知识要点: 循环链表和双向链表的定义、特点、标识、结点结构两个循环链表的连接、双向链表中结点的插入和删除顺序表和链表的比较技能要点: 两个循环链表的连接算

18、法双向链表中结点的插入和删除教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P38;7、9课后分析与小结: 本节课的重点:循环链表和双向链表的特点和基本操作 难点:循环链表连接操作、双向链表的插入和删除审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注2.3.3 循环链表 一 循环链表的定义二 循环链表示意图(1)带头结点的单循环链表(2)仅设尾指针的单循环链表三 循环链表的特点 四. 循环链表的说明2.3.4 双向循环链表一. 双向链表的概念二. 双链表示意图三双链表的类型定义四双向链表的操作1.双向链表中结点的前插2.双向链表中

19、结点的删除五. 顺序表和链表的比较教 师 授 课 教 案教学单元(章节): 第三章:栈和队列3.1 栈教学目的: 掌握栈的定义、特点和存储结构掌握顺序栈和链栈的基本运算理解栈与递归的关系知识要点: 栈的定义、特点、基本运算,顺序栈和链栈的主要操作上溢、下溢,栈空与栈满的条件,栈与递归问题技能要点: 顺序栈和链栈的置空、判栈空、入栈、出栈操作教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P63;1、3、4课后分析与小结: 本节课的重点: 顺序栈和链栈的基本操作 难点: 栈与递归问题审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第

20、三章:栈和队列3.1 栈3.1.1 栈的定义和基本运算1.栈的定义栈:是限制仅在表尾进行插入和删除的线性表。2.基本运算(1)初始化栈:构在一个空栈 (2)置空栈:将S置成空栈(3)入栈:在栈顶插入一个新元素X (4)出栈:删除(弹出) 栈S的顶部元素 (5)取栈顶):取栈S的顶部元素 (6)判断空栈 Empty_Stack (S):空栈返回1 3.1.2 栈的存储实现和运算实现1.顺序栈1)顺序栈的定义2)顺序栈基本运算 置空栈 判空栈 入栈 出栈3.1.2 栈的存储实现和运算实现2.链栈1)链栈的定义2)链栈基本运算 置空栈 判空栈 入栈 出栈3.1.3 栈与递归的实现1.具有递归特性的问

21、题(1)递归定义的数学函数(2)递归数据结构的处理(3)递归求解方法2.递归算法的设计方法与递归过程的实现(1)应用递归算法的前提(2)Hanoi塔问题的递归函数(3)Fibonacci数列的递归算法教 师 授 课 教 案教学单元(章节): 第三章:栈和队列 3.2 栈的应用举例3.3 队列3.4 队列应用举例教学目的: 掌握队列的定义、特点和存储结构掌握循环队列和链队列的基本运算理解循环队列的意义和队列的应用知识要点: 队列的定义、特点、存储结构、基本运算循环队列产生的原因,循环队列和链队列的主要操作假溢出,循环队列队空与队满的条件技能要点: 循环队列队空与队满的条件,循环队列和链队列的入队

22、、出队、判队空操作教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P63;2、5、9课后分析与小结: 本节课的重点: 循环队列和链队列的基本操作 难点: 栈的应用、循环队列审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第三章:栈和队列3.2 栈的应用举例1.数制转换2.表达式求值3.3 队列3.3.1队列的定义和基本运算1.队列的定义和特点2.队列结构的基本操作1. Init_Queue(Q) 将Q置为一个空队列2. In_Queue(Q,x) 插入元素x为队Q的新队尾元素3. Out_Queue(Q,x) 删除Q的队头元素,并

23、返回其值4. Front_Queue(Q,x) 返回Q的队头元素5. Empty_Queue (Q) 判队空3.3.2队列的存储和运算实现1顺序队列:定义、特点和存储结构2. 循环队列:定义、存储结构和基本操作3. 链队列1)定义、特点和存储结构2)基本操作3.4 队列应用举例教 师 授 课 教 案教学单元(章节): 第四章:串和数组 4.1 串教学目的: 掌握串的定义、特点、相关术语和基本运算 了解串的存储结构及其基本运算实现知识要点: 串的定义、特点、相关术语和基本运算串的顺序存储结构和堆分配存储结构技能要点: 串的基本运算定长串连接、求子串和串比较操作教学方法: 讲授+演示教具及教学手段

24、: 投影作业布置情况: P78;2、3课后分析与小结: 本节重点:串的定义、存储结构和基本运算本节难点:串连接、求子串和串比较算法审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第四章:串和数组4.1 串4.1.1串的基本概念1.串的定义2.术语4.1.2串的基本运算(1)求串长(2)串赋值(3)串连接(4)求子串(5)串比较(6)串定位(7) 插入(8) 删除 (9) 串替换4.1.2 串的存储结构 1. 串的定长顺序存储结构2. 堆分配存储结构 3. 定长顺序串基本运算的实现(1)串连接 (2)子串 (3)串比较教 师 授 课 教 案教学

25、单元(章节): 第四章:串和数组 4.2 数组教学目的: 了解数组的逻辑存储结构和内存映像了解稀疏矩阵的定义及其数组实现知识要点: 数组与线性表、数组的逻辑存储结构和内存映像稀疏矩阵的定义、压缩存储方法、转置技能要点: 数组的内存映像、数组元素地址的计算稀疏矩阵的存储、转置教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P78;5、6课后分析与小结: 本节重点:数组的逻辑结构和物理结构、稀疏矩阵本节难点:稀疏矩阵的压缩方法审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第四章:串和数组4.2 数组4.2.1数组的逻辑结构1) 1维

26、数组2) 2维数组4.2.2数组的内存映像1.存储方式1)以行为主2)以列为主2.数组物理地址的计算1) 1维数组物理地址计算函数表达式2) 2维数组物理地址计算函数表达式4.2.3 稀疏矩阵1.定义2.特殊矩阵3.稀疏矩阵的压缩存储教 师 授 课 教 案教学单元(章节): 第五章:树和二叉树 5.1 树的概念和基本操作5.2.1二叉树的基本概念5.2.2二叉树的主要性质教学目的: 掌握树的定义、特点和相关术语理解树的基本操作掌握二叉树的定义、相关概念和主要性质知识要点: 树的定义、特点、相关术语和基本操作 二叉树、完全二叉树、满二叉树的定义 完全二叉树、满二叉树的性质技能要点: 树的相关术语

27、、树的遍历二叉树、完全二叉树、满二叉树二叉树的结点个数、完全二叉树的深度教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P107;1、2、8、9课后分析与小结:本节重点:树和二叉树的相关概念、二叉树的性质本节难点:二叉树的主要性质审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第五章:树和二叉树5.1 树的概念和基本操作5.1.1 树的定义和相关术语1.树的定义2.相关术语5.1.2 树的基本操作(1)Initiate(t)初始化一棵空树t。(2)Root(x)求结点x所在树的根结点。(3)Parent(t,x)求树t中结点x的双

28、亲结点。(4)Child(t,x,i)求树t中结点x的第i个孩子结点。(5)RightSibling(t,x)求树t中结点x的第一个右边兄弟结点。(6)Insert(t,x,i,s)把以s为根结点的树插入到树 t中作为结点x的第i棵子树。(7)Delete(t,x,i)在树t中删除结点x的第i棵子树。(8)Traverse(t)是树的遍历操作 ,访问每个结点。5.2 二叉树5.2.1二叉树的基本概念1二叉树2. 二叉树的相关概念:满二叉树、完全二叉树5.2.2二叉树的主要性质性质1:层数与节点的关系性质2:深度与节点的关系性质3:非空二叉树的度为2的结点与叶子节点的关系性质4:完全二叉树的深度

29、与节点的关系性质5:完全二叉树的相关性质教 师 授 课 教 案教学单元(章节): 第五章:树和二叉树 5.2.3二叉树的基本操作与存储实现5.2.4二叉树的遍历教学目的: 掌握二叉树的2种存储结构理解二叉树的基本操作掌握二叉树的遍历方法知识要点: 二叉树的顺序存储、二叉链表存储、三叉链表存储 二叉树的基本操作 先序遍历、中序遍历、后序遍历、层次遍历技能要点: 二叉树的顺序存储、二叉树链式存储的存储结构先序遍历、中序遍历、后序遍历、层次遍历二叉树的过程教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P107;3、4、5、6课后分析与小结: 本节重点:二叉树的存储结构和遍历方法本节难点

30、:先序、中序、后序遍历二叉树审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第五章:树和二叉树5.2.3二叉树的基本操作与存储实现1.二叉树的顺序存储结构2.二叉树的链式存储结构1)二叉链表存储2)三叉链表存储3.二叉树的基本操作(1)Initiate(bt) (2)Create(x,lbt,rbt) (3)InsertL(bt,x,parent) (4)DeleteL(bt,parent) (5)InsertR(bt,x,parent)(6)DeleteR(bt,parent)(7)serch (bt,x)(8)Traverse(bt)5.

31、2.4二叉树的遍历1.先序遍历2.中序遍历3.后序遍历4.层次遍历教 师 授 课 教 案教学单元(章节): 第五章:树和二叉树 5.3 树和森林教学目的: 理解树的3种存储结构掌握树、森林与二叉树的转换方法掌握树和森林的遍历方法知识要点: 树的双亲表示法、孩子链表表示法、孩子兄弟表示法 树和森林转换为二叉树、二叉树转换为树和森林树的先根遍历、后根遍历,森林的先序遍历、后序遍历技能要点: 二叉树的顺序存储结构、二叉树链式存储的存储结构树、森林与二叉树的转换过方法、树和森林的遍历教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P108;7、15、16课后分析与小结: 本节重点:树、森林

32、与二叉树的转换、树和森林的遍历本节难点:树的存储 树、森林与二叉树的转换审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第五章:树和二叉树5.3 树和森林5.3.1 树的存储1.双亲表示法2.孩子链表示法3.孩子兄弟表示法5.3.2树、森林与二叉树的转换1.树转换为二叉树2.森林转换为二叉树3.二叉树转换为树和森林5.3.3树和森林的遍历1.树的遍历1)先根遍历2)后根遍历2.森林的遍历(1)先序遍历(2)后序遍历教 师 授 课 教 案教学单元(章节): 第五章:树和二叉树 5.4 最优二叉树哈夫曼树教学目的: 理解哈夫曼树的相关定义掌握最优

33、二叉树的构建方法掌握哈夫曼编码的定义和实现过程知识要点: 哈夫曼树、带权路径长度、哈夫曼编码、等长编码、不等长编码技能要点: 构造哈夫曼树设计哈夫曼编码教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P109;20、21课后分析与小结: 本节重点:最优二叉树和哈夫曼编码的构造方法本节难点:带权路径、哈夫曼编码审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第五章:树和二叉树5.4 最优二叉树哈夫曼树5.4.1 哈夫曼树的基本概念1.哈夫曼树的概念2.权值3.带权路径长度5.4.2哈夫曼树的构造算法1. 哈夫曼树的构造步骤5.4.3

34、哈夫曼编码1.等长编码2.不等长编码3.哈夫曼编码的概念4. 哈夫曼编码的构造过程5.4.4 哈夫曼编码的算法实现1.哈夫曼编码的算法思路2.哈夫曼编码的算法实现教 师 授 课 教 案教学单元(章节): 第六章:图 6.1 图的基本概念6.2 图的存储表示教学目的: 掌握图的定义和相关术语 理解图的基本操作 掌握图的两种存储结构知识要点: 图、无向图、有向图、完全图、度、入度、出度、权和网 路径、回路、子图、连通图、强连通图、生成树 图的基本操作、邻接矩阵、邻接表技能要点: 图的相关术语、图的邻接矩阵的表示 图的邻接表的表示教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P138;

35、1、2、4课后分析与小结: 本节重点:图的相关术语和存储表示本节难点:邻接矩阵、邻接表审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第六章:图6.1 图的基本概念6.1.1图的定义和术语1.定义2.相关术语1)有向图、无向图、完全图2)顶点、边、弧、弧头、弧尾3)度、入度、出度4)权和网5)路径和路径长度、回路、简单路径、简单回路6)子图、连通图、强连通图7)连通的、连通分量、强连通分量8)生成树、生成森林6.1.2 图的基本操作(1)Creatgraph(G) (2)DestroyGraph(G)(3)GetVex(G,v) (4)Put

36、Vex(G,v,value)(5)Insertvex(G ,v) (6)Deletevex(G,v)(7)InsertArc( G ,v,u) (8)DeleteArc( G ,v,u)(9)DFSTraverse(G,v) (10)BFSTtaverse(G,v)(11)Locatevex(g,v) (12)FiirstAdjvex(g,v) (13)nextAdjvex(g,v,w) 6.2 图的存储表示6.2.1邻接矩阵1. 邻接矩阵存储结构的定义2. 表示方法6.2.2 邻接表1. 邻接表存储结构的定义2. 表示方法教 师 授 课 教 案教学单元(章节): 第六章:图 6.3 图的遍历

37、6.4.1 最小生成树教学目的: 掌握图的两种遍历方法 理解最小生成树的的相关概念 掌握用Prim算法构造最小生成树的过程知识要点: 深度优先搜索、广度优先搜索 最小生成树、 Prim算法思路技能要点: 深度优先搜索遍历、广度优先搜索遍历用Prim算法构造最小生成树教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P138;3、5课后分析与小结: 本节重点:图的两种遍历、最小生成树本节难点:用Prim算法构造最小生成树审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第六章:图6.3 图的遍历6.3.1 深度优先搜索1. 深度优先搜索

38、的定义2. 深度优先搜索的算法实现6.3.2 广度优先搜索1. 广度优先搜索的定义2. 广度优先搜索的算法实现6.4 图的应用6.4.1 最小生成树1.最小生成树的基本概念2.构造最小生成树的Prim算法1) Prim算法的基本思想2) Prim算法的基本步骤3) Prim算法的C语言描述教 师 授 课 教 案教学单元(章节): 第六章:图 6.4.2 最短路径6.4.3 拓扑排序教学目的: 理解最短路径问题和拓扑排序的意义了解用Dijkstra算法求单源最短路径了解拓扑排序的方法知识要点: 最短路径问题、Dijkstra算法的基本思想、有向无环图、AOV网、拓扑排序的步骤技能要点: 用Dij

39、kstra算法求单元最短路径 拓扑排序算法教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P139;6课后分析与小结: 本节重点:最短路径问题和拓扑排序本节难点:Dijkstra算法、拓扑排序算法审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日 教学内容及过程板书或旁注第六章:图6.4 图的应用6.4.2 最短路径1.最短路径问题2.单源最短路径3.Dijkstra算法的思想4.Dijkstra算法的C语言实现6.4.3 拓扑排序1. 有向无环图2. AVO网3. 拓扑排序4. 拓扑排序的基本步骤5. 拓扑排序的算法思想教 师 授 课 教 案教学单元(章

40、节): 第七章 查找7.1 基本概念和术语7.2 静态查找表教学目的: 了解查找的概念和静态查找表结构 理解顺序查找和折半查找及其性能分析方法知识要点: 关键码、查找表、平均查找长度 顺序查找、有序表的折半查找、分块查找技能要点: 顺序查找、有序表的折半查找和分块查找算法的基本思想教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P167: 1、3课后分析与小结: 本节重点:顺序查找、折半查找和分块查找算法本节难点:折半查找算法的基本思想审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第七章 查找7.1 基本概念和术语1.关键码2.

41、查找表3.查找4.平均查找长度7.2 静态查找表7.2.1 静态查找表结构7.2.2 顺序查找1)基本思想2)算法实现3)性能分析7.2.3 有序表的折半查找1)基本思路2)算法实现3)性能分析7.2.4 分块查找1)基本思路2)性能分析教 师 授 课 教 案教学单元(章节): 第七章 查找7.4 哈希表教学目的: 理解哈希方法理解冲突处理方法知识要点: 哈希表和哈希方法、常用的哈希函数 冲突处理方法、哈希表的查找和性能分析技能要点: 哈希函数的比较、解决地址冲突的处理方法教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P167:6课后分析与小结: 本节重点:常用的哈希函数、冲突处

42、理方法本节难点:冲突处理方法、哈希表的查找和性能分析审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第七章 查找7.4 哈希表7.4.1 哈希表和哈希方法7.4.2 常用的哈希函数1.直接定址法2.除留余数法3.数字分析法4.平方取中法5.折叠法7.4.3 冲突处理方法1.开放定址法(1)线性探测法(2)二次探测法(3)双哈希函数探测法2.拉链法3.建立公共溢出区7.4.4 哈希表的查找及其分析1.哈希表的查找算法2.哈希表的性能分析教 师 授 课 教 案教学单元(章节): 第八章 排序8.1 基本概念8.2 简单排序方法教学目的: 理解排序

43、的基本概念 掌握插入排序、简单选择排序的方法知识要点: 排序的基本概念和性能分析 直接插入排序、冒泡排序、简单选择排序技能要点: 直接插入排序、冒泡排序和简单选择排序的性能分析教学方法: 讲授+演示教具及教学手段: 投影作业布置情况: P186:1课后分析与小结: 本节重点:冒泡排序算法、直接插入排序算法本节难点:冒泡排序算法、简单选择排序算法审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第八章 排序8.1 基本概念1.排序2.内排序3.外排序8.2 简单排序方法8.2.1 直接插入排序1. 直接插入排序方法的思路2. 直接插入排序算法实现

44、3. 直接插入排序效率分析8.2.2 冒泡排序1. 冒泡排序方法的思路2. 冒泡排序算法实现3. 冒泡排序效率分析8.2.3 简单选择排序1. 简单选择排序方法的思路2. 简单选择排序算法实现3. 简单选择排序效率分析教 师 授 课 教 案教学单元(章节): 第八章 排序8.3 快速排序8.5 归并排序8.7 排序方法的比较和讨论教学目的: 理解快速排序和归并排序的方法及性能分析 了解主要排序方法各自的特点知识要点: 快速排序、两路归并的迭代算法 两路归并的递归算法、主要排序方法各自的特点技能要点: 快速排序、两路归并的迭代算法 两路归并的递归算法、排序方法的比较教学方法: 讲授+演示教具及教

45、学手段: 投影作业布置情况: P186:1、2课后分析与小结: 本节重点:两路归并算法、快速排序算法本节难点:两路归并算法、快速排序算法审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月 日教学内容及过程板书或旁注第八章 排序8.3 快速排序1. 快速排序的基本思路2. 快速排序算法实现3. 快速排序的过程示意4. 快速排序效率分析8.5 归并排序1. 归并排序的基本思路2. 归并排序算法实现 1)两路归并的迭代算法 2)两路归并的递归算法3. 归并排序的过程示意4. 归并排序效率分析8.7 排序方法的比较和讨论1. 从从算法的时间复杂度、空间复杂度和算法所需的辅助空间三

46、个方面来比较2. 从排序方法的稳定性角度对各种排序方法加以比较。教 师 授 课 教 案教学单元(章节): 实验1 对线性表进行顺序存储的操作的实现教学目的: 1掌握线性表的抽象数据类型。 2掌握线性表的顺序存储及相关算法。知识要点: 用C语言采用顺存存储结构定义线性表对线性表顺序存储的各种操作的实现技能要点:用C实现线性表顺序存储的基本操作:插入、删除、查找等教学方法: 讲授+演示+实验 教具及教学手段: PC机、Turbo C 2.0作业布置情况: 上机实验课后分析与小结: 本节重难点:用C实现线性表顺序存储的基本操作审 批:教研室主任(签字) 年 月 日 抽 查:系部主任(签字) 年 月

47、日教学内容及过程板书或旁注实验内容:用C语言实现线性表顺序存储结构的创建、插入、删除、查找、合并等算法。1.顺序线性表的定义2.建立顺序线性表3.求线性表长度4.查找数据元素5.数据元素插入6.数据元素删除7.排序,从小到大教 师 授 课 教 案教学单元(章节):实验2 对线性表进行链式存储的操作的实现教学目的: 1掌握线性表的抽象数据类型。 2掌握线性表的链式存储及相关算法。知识要点:用C语言采用链式存储结构定义线性表对线性表链式存储的各种操作的实现技能要点:用C实现线性表链式存储的基本操作:插入、删除、查找等教学方法: 讲授+演示+实验 教具及教学手段: PC机、Turbo C 2.0作业布置情况: 上机实验课后分析与小结:本节重难点:用C实现线性表链式存储的基本操作

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!