《数据结构》教案_第1页
《数据结构》教案_第2页
《数据结构》教案_第3页
《数据结构》教案_第4页
《数据结构》教案_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教学单元(章节):第一章:绪论

1.1数据结构概念

教学目的:理解学习数据结构的重要意义

掌握数据结构的基本概念

知识要点:数据结构、逻辑结构、物理结构、算法

4种数据的存储结构、程序与数据结构

技能要点:数据结构、4种基本的数据结构、

4种数据的存储结构

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P11;1、2

课后分析与小结:

本节课的重点:数据结构有关概念和术语

难点:学习数据结构的意义

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第一章:绪论

1.1数据结构概念

1.1.1为什么要学习数据结构

1.计算机处理问题的分类

(1)数值计算问题

(2)非数值性问题

2.非数值问题求解

算法+数据结构二程序

数据结构:是指数据的逻辑结构和存储结构

算法:是对数据运算的描述

1.1.2有关概念和术语

数据

数据元素

数据项

数据结构:集合、线性、树型、图状

数据结构:包括物理结构、逻辑结构

数据的四种基本存储方法

(1)顺序存储方法

(2)链接存储方法

(3)索引存储方法

(4)散列存储方法

教学内容及过程板书或旁注

第一章:绪论

1.2算法描述

1.2.1算法特性

(1)有穷性⑵确定性⑶可行性(4)输入⑸输出

好的算法的特点

(1)正确⑵可读(3)健壮(4)高效

数据结构的基本操作:

(1)查找(2)读取(3)插入(4)删除(5)修改

1.2.2算法描述

算法描述的种类:

(1)框图/流程图算法(2)非形式算法

(3)伪语言算法(4)高级语言算法

1.3算法分析

时间复杂度:解决某问题所花费的时间大小,即程序运行从开始

到结束所需要的时间,记为T(n)

空间复杂度:解决某问题的程序完全运行时所占用的存储空间

大小,记为S(n)

【例】算法MatrixMultidy的时间复杂度T(n)如(1.1)式所示,

当n趋向无穷大时,显然有

jyyj月+2k+1)/浦,2

教师授课教案

教学单元(章节):C语言第七章:数组

7.1一维数组的定义和引用

7.2二维数组的定义和引用

7.3字符数组

教学目的:理解一维数组、二维数组、字符数组的定义

掌握一维数组、二维数组、字符数组的引用和初始化方法

掌握一维数组、二维数组、字符数组的简单应用程序

知识要点:一维数组、二维数组、字符数组的定义、引用、初始化

一维数组、二维数组、字符数组相关的简单程序

技能要点:用数组来处理相关问题的程序

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P152;7.1P152;7.3

P153;7.11P153;7.15

课后分析与小结:

本节重点:数组的定义、引用、初始化

本节难点:用数组求解简单的问题

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第七章数组

7.1一维数组的定义和引用

7.1.1一维数组的定义

7.1.2—维数组的引用

7.1.3—维数组的初始化

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变量的指针却指针变量

教学目的:理解地址和指针的概念

掌握指针变量的定义和引用

知识要点:地址、指针、指针变量的定义和引用、

指针变量作为函数参数

技能要点:指针变量的定义和引用

指针变量作为函数参数

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况: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指针变量作为函数参数

(D使一个指针变量指向另一个变量

(2)通过指针变量访问整型变量

教师授课教案

教学单元(章节):C语言第十章:指针

10.3.1指向数组元素的指针

10.3.2通过指针引用数组元素

10.4.1字符串的表现形式

10.8指针运算小结

教学目的:掌握通过指针引用数组元素

理解字符串的表现形式

掌握指针的相关运算

知识要点:数组与指针、字符串与指针、指针运算

技能要点:通过指针引用数组元素、字符串的表现形式

指针的各种运算

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P279;10.6

P279;10.9

课后分析与小结:

本节重点:指针运算、通过指针引用数组元素和字符串

本节难点:通过指针引用数组元素、字符串

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

10.3数组与指针

10.3.1指向数组元素的指针

定义一个指向数组元素的指针变量

10.3.2通过指针引用数组元素

数组元素的引用可以用

1.下标法:a[i]

2.指针法:*(a+i)或*(p+i)

10.4字符串与指针

10.4.1字符串的表现形式

1.用字符数组存放一个字符串

2.用字符指针指向一个字符串

3.字符串常量和字符指针的初始化

10.8指针运算小结

10.8.1有关指针的数据类型的小结

10.8.2指针运算小结

1.指针变量的加减

2.指针变量赋值

3.指针变量的比较

教师授课教案

教学单元(章节):C语言第十一章:结构体与共用体

11.1-11.5.1结构体

11.7.3处理动态链表所需的函数

11.10用typedef定义类型

教学目的:掌握结构体变量的定义、引用和初始化

掌握处理动态链表所需的函数

掌握用typedef定义类型

知识要点:结构体变量、结构体数组,malloc函数

calloc函数、free函数、typedef

技能要点:结构体变量的定义、引用和初始化

用typedef定义类型

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P318;11.1

P318;11.5

课后分析与小结:

本节重点:结构体变量、处理动态链表所需的函数

本节难点:结构体变量的引用和初始化、用typedef定义类型

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第十一章:结构体与共用体

11.1概述

结构体类型定义一般形式

struct结构体名

{类型标识符成员名1:

类型标识符成员名

■2:

类型点识符成员名n:

};

11.2定义结构体类型变量的方法

1.先定义结构体类型,再用类型标识去定义变量

2.定义类型的同时定义变量3.直接定义结构体类型变量

11.3结构体变量的引用

1.结构体变量各成员的引用

引用形式:结构体变量名.成员名

2.结构体变量各成员的输入、输出

11.4结构体变量的初始化

11.5结构体数组

1.结构体数组的定义2.结构体数组的初始化

3.结构体数组stu的存储结构4.结构体数组的引用

11.6指针与结构体

1.指向结构体变量的指针

2.指向结构体变量的指针与结构体变量的等价关系

11.7用指针处理链表

处理动态链表所需的函数

内存分配函数原型:void*malloc(unsignedsize);

内存分配函数原型:void*calloc(unsignedsize);

内存释放函数原形:voidfree(void*p);

11.10用typedef定义类型

1、使用的一般形式:

typedef原类型名新类型名;

2.用typedef定义类型的方法(举例)

①先按定义数组变量形式书写:intn[100];

②将变量名换成新类型名:intNUML100];

③在最前面加上typedef:typedefintNUM[100];

④用新类型名来定义变量:NUMn;

3.用typedef定义类型的说明:

(1)用typedef可以声明各种类型名,但不能用来定义变量。

(2)用typedef只是对己经存在的类型增加一个类型名,而没有

创造新的类型。

(3)使用typedef有利于程序的通用与移植。

教师授课教案

教学单元(章节):第二章:线性表

2.1线性表的逻辑结构

2.2线性表的顺序存储及操作实现

教学目的:理解顺序表的定义、特点及其主要操作

掌握插入与删除算法中数据元素的平均移动次数

知识要点:线性表的定义、特点、基本操作

顺序表的定义、特点和存储

顺序表的初始化、插入、删除、查找操作,应用举例

技能要点:线性表的逻辑结构及基本操作

线性表的顺序存储结构及其基本操作实现

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P37;1

P38;6

课后分析与小结:

本节重点:线性表的定义、特点和顺序表的基本操作

本节难点:顺序表的插入和删除算法及其时间复杂度

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

2.1线性表的逻辑结构

2.1.0线性表的实际例子

2.1.1线性表的定义

2.1.2线性表的基本操作

1.初始化:Init_List(L)

2.置空:Setnull_List(L)

3.求长度:Length_List(L)

4.取表元:Get_List(L,i)

5.查找:Locate_List(L,x)

6.插入:Tnsprt_List.(L,x)

7•删除:Delete_List(L,i)

2.2线性表的顺序存储结构

2.2.1线性表的顺序存储结构

1.顺序表的定义和特点

2.顺序表的存储和类型定义

2.2.2顺序表的基本算法实现

1.初始化顺序表L

2.插入

3.删除

4.按值查找

教师授课教案

教学单元(章节):第二章:线性表

2.3.1单链表

2.3.2单链表上基本运算的实现

教学目的:掌握单链表的定义、特点及存储结构

掌握单链表的查找、插入与删除算法

理解带首结点的单链表的优点

知识要点:单链表的定义、特点、标识、结点结构和存储结构

单链表的建立、求表长、查找、插入和删除算法

技能要点:单链表的结点结构和存储结构

单链表的查找、插入与删除算法

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P38;8

课后分析与小结:

本节重点:单链表的定义、特点和存储结构基本操作

本节难点:单链表的查找、插入和删除算法

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

2.3线性表的链式存储结构

2.3.1单链表

1.单链表的定义和特点

2.单链表的存储结构和类型定义

2.3.2单链表上的基本运算的实现

1.建立单链表

(1)头部插入法建立

(2)尾部插入法建立

2.求表长

(1)带头结点的单链表

(2)不带头结点的单链表

3.查找操作

(1)按序号查找

(2)按值查找

4.插入操作

(1)后插节点

(2)前插节点

(3)插入运算

5.删除操作

(1)删除节点

(2)删除运算

教师授课教案

教学单元(章节):第二章:线性表

2.3.3循环链表

2.3.4双向链表

教学目的:掌握单链表的定义、特点及存储结构

掌握单链表的查找、插入与删除算法

理解带首结点的单链表的优点

知识要点:循环链表和双向链表的定义、特点、标识、结点结构

两个循环链表的连接、双向链表中结点的插入和删除

顺序表和链表的比较

技能要点:两个循环链表的连接算法

双向链表中结点的插入和删除

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P38;7、9

课后分析与小结:

本节课的重点:循环链表和双向链表的特点和基本操作

难点:循环链表连接操作、双向链表的插入和删除

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

2.3.3循环链表

一.循环链表的定义

二.循环链表示意图

(1)带头结点的单循环链表

(2)仅设尾指针的单循环链表

三.循环链表的特点

四.循环链表的说明

2.3.4双向循环链表

一.双向链表的概念

二.双链表示意图

三.双链表的类型定义

四.双向链表的操作

1.双向链表中结点的前插

2.双向链表中结点的删除

五.顺序表和链表的比较

教师授课教案

教学单元(章节):第三章:栈和队列

3.1栈

教学目的:掌握栈的定义、特点和存储结构

掌握顺序栈和链栈的基本运算

理解栈与递归的关系

知识要点:栈的定义、特点、基本运算,顺序栈和链栈的主要操作

上溢、下溢,栈空与栈满的条件,栈与递归问题

技能要点:顺序栈和链栈的置空、判栈空、入栈、山栈操作

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P63;1、3、4

课后分析与小结:

本节课的重点:顺序栈和链栈的基本操作

难点:栈与递归问题

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第三章:栈和队列

3.1栈

3.1.1栈的定义和基本运算

1.栈的定义

栈:是限制仅在表尾进行插入和删除的线性表。

2.基本运算

(1)初始化栈:构在一个空栈

(2)置空栈:将S置成空栈

(3)入栈:在栈顶插入一个新元素X

(4)出栈:删除(弹出)栈3的顶部元素

(5)取栈顶):取栈S的顶部元素

(6)判断空栈Empty_Stack(S):空栈返回1

3.1.2栈的存储实现和运算实现

1.顺序栈

1)顺序栈的定义

2)顺序栈基本运算

⑴置空栈

(2)判空栈

⑶入栈

(4)出栈

3.1.2栈的存储实现和运算实现

2.链栈

1)链栈的定义

2)链栈基本运算

⑴置空栈

⑵判空栈

⑶入栈

(4)出栈

3.1.3栈与递归的实现

1.具有递归特性的问题

(1)递归定义的数学函数

(2)递归数据结构的处理

(3)递归求解方法

2.递归算法的设计方法与递归过程的实现

(1)应用递归算法的前提

(2)Hanoi塔问题的递归函数

(3)Fibonacci数列的递归算法

教师授课教案

教学单元(章节):第三章:栈和队列

3.2栈的应用举例

3.3队列

3.4队列应用举例

教学目的:掌握队列的定义、特点和存储结构

掌握循环队列和链队列的基本运算

理解循环队列的意义和队列的应用

知识要点:队列的定义、特点、存储结构、基本运算

循环队列产生的原因,循环队列和链队列的主要操作

假溢出,循环队列队空与队满的条件

技能要点:循环队到队空与队满的条件,

循环队列和链队列的入队、出队、判队空操作

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况: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._QiiAiiA(Q,x)删除Q的队头元素,并返向其值

4.Front_Queue(Q,x)返回Q的队头元素

5.Empty_Queue(Q)判队空

3.3.2队列的存储和运算实现

1.顺序队列:定义、特点和存储结构

2.循环队列:定义、存储结构和基本操作

3.链队列

1)定义、特点和存储结构

2)基本操作

3.4队列应用举例

教师授课教案

教学单元(章节):第四章:串和数组

4.1串

教学目的:掌握串的定义、特点、相关术语和基本运算

了解串的存储结构及其基本运算实现

知识要点:串的定义、特点、相关术语和基本运算

串的顺序存储结构和堆分配存储结构

技能要点:串的基本运算

定长串连接、求子串和串比较操作

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P78;2、3

课后分析与小结:

本节重点:串的定义、存储结构和基本运算

本节难点:串连接、求子串和串比较算法

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第四章:串和数组

4.1串

4.1.1串的基本概念

1.串的定义

2.术语

4.1.2串的基本运算

(1)求串长

(2)串赋值

(3)串连接

(4)求子串

(5)串比较

(6)串定位

⑺插入

(8)删除

(9)串替换

4.1.2串的存储结构

1.串的定长顺序存储结构

2.堆分配存储结构

3.定长顺序串基本运算的实现

(1)串连接

(2)子串

(3)串比较

教师授课教案

教学单元(章节):第四章:串和数组

4.2数组

教学目的:了解数组的逻辑存储结构和内存映像

了解稀疏矩阵的定义及其数组实现

知识要点:数组与线性表、数组的逻辑存储结构和内存映像

稀疏矩阵的定义、压缩存储方法、转置

技能要点:数组的内存映像、数组元素地址的计算

稀疏矩阵的存储、转置

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P78;5、6

课后分析与小结:

本节重点:数组的逻辑结构和物理结构、稀疏矩阵

本节难点:稀疏矩阵的压缩方法

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第四章:串和数组

4.2数组

4.2.1数组的逻辑结构

1)1维数组

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二叉树的主要性质

教学目的:掌握树的定义、特点和相关术语

理解树的基本操作

掌握二叉树的定义、相关概念和主要性质

知识要点:树的定义、特点、相关术语和基本操作

二叉树、完全二叉树、满二叉树的定义

完全二叉树、满二叉树的性质

技能要点:树的相关术语、树的遍历

二叉树、完全二叉树、满二叉树

二叉树的结点个数、完全二叉树的深度

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P107;1、2、8、9

课后分析与小结:

本节重点:树和二叉树的相关概念、二叉树的性质

本节难点:二叉树的主要性质

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第五章:树和二叉树

5.1树的概念和基本操作

5.1.1树的定义和相关术语

1.树的定义

2相.关术语

5.1.2树的基本操作

(l)Initiate(t)初始化一棵空树to

(2)Root(x)求结点x所在树的根结点。

(3)Parent(t,x)求树1中结点x的双亲结点。

(4)ChiId(t,x,i)求树t中结点x的第i个孩子结点。

(5)RighlSibling(t,x)求树1中结点x的第一个右边兄弟结点。

(6)Tnsprt(t,x,i,*)把以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:完全二叉树的深度与节点的关系

性质5:完全二叉树的相关性质

教师授课教案

教学单元(章节):第五章:树和二叉树

b.2.3二叉树的基本操作与存储实现

5.2.4二叉树的遍历

教学目的:掌握二叉树的2种存储结构

理解二叉树的基本操作

掌握二叉树的遍历方法

知识要点:二叉树的顺序存储、二叉链表存储、三叉链表存储

二叉树的基本操作

先序遍历、中序遍历、后序遍历、层次遍历

技能要点:二叉树的顺序存储、二叉树链式存储的存储结构

先序遍历、中序遍历、后序遍历、层次遍历二叉树的过程

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P107;3、4、5、6

课后分析与小结:

本节重点:二叉树的存储结构和遍历方法

本节难点:先序、中序、后序遍历二叉树

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第五章:树和二叉树

5.2.3二叉树的基本操作与存储实现

1.二叉树的顺序存储结构

2.二叉树的链式存储结构

1)二叉链表存储

2)三叉链表存储

3.二叉树的基本操作

(1)Initiate(bt)

(2)Crpatp(x,1ht,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.2.4二叉树的遍历

1先.序遍历

2.中序遍历

3.后序遍历

4层.次遍历

教师授课教案

教学单元(章节):第五章:树和二叉树

5.3树和森林

教学目的:理解树的3种存储结构

掌握树、森林与二叉树的转换方法

掌握树和森林的遍历方法

知识要点:树的双亲表示法、孩子链表表示法、孩子兄弟表示法

树和森林转换为二叉树、二叉树转换为树和森林

树的先根遍历、后根遍历,森林的先序遍历、后序遍历

技能要点:二叉树的顺序存储结构、二叉树链式存1诸的存储结构

树、森林与二叉树的转换过方法、树和森林的遍历

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P108;7、15、16

课后分析与小结:

本节重点:树、森林与二叉树的转换、树和森林的遍历

本节难点:树的存储树、森林与二叉树的转换

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第五章:树和二叉树

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最优二叉树——哈夫曼树

教学目的:理解哈夫曼树的相关定义

掌握最优二叉树的构建方法

掌握哈夫曼编码的定义和实现过程

知识要点:哈夫曼树、带权路径长度、哈夫曼编码、

等长编码、不等长编码

技能要点:构造哈夫曼树

设计哈夫曼编码

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P109;20、21

课后分析与小结:

本节重点:最优二叉树和哈夫曼编码的构造方法

本节难点:带权路径、哈夫曼编码

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第五章:树和二叉树

5.4最优二叉树一一哈夫曼树

5.4.1哈夫曼树的基本概念

1.哈夫曼树的概念

2.权值

3.带权路径长度

5.4.2哈夫曼树的构造算法

1.哈夫曼树的构造步骤

5.4.3哈夫曼编码

1.等长编码

2.不等长编码

3.哈夫曼编码的概念

4.哈夫曼编码的构造过程

5.4.4哈夫曼编码的算法实现

1.哈夫曼编码的算法思路

2.哈夫曼编码的算法实现

教师授课教案

教学单元(章节):第六章:图

6.1图的基本概念

6.2图的存储表示

教学目的:掌握图的定义和相关术语

理解图的基本操作

掌握图的两种存储结构

知识要点:图、无向图、有向图、完全图、度、入度、出度、权和网

路径、回路、子图、连通图、强连通图、生成树

图的基本操作、邻接矩阵、邻接表

技能要点:图的相关术语、图的邻接矩阵的表示

图的邻接表的表示

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P138;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)PutVex(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)nexlAdjvex(g,v,w)

6.2图的存储表示

6.2.1邻接矩阵

1.邻接矩阵存储结构的定义

2.表示方法

6.2.2邻接表

1.邻接表存储结构的定义

2.表示方法

教师授课教案

教学单元(章节):第六章:图

6.3图的遍历

6.4.1最小生成树

教学目的:掌握图的两种遍历方法

理解最小生成树的的相关概念

掌握用Prim算法构造最小生成树的过程

知识要点:深度优先搜索、广度优先搜索

最小生成树、Prim算法思路

技能要点:深度优先搜索遍历、广度优先搜索遍历

用Prim算法构造最小生成树

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P138;3、5

课后分析与小结:

本节重点:图的两种遍历、最小生成树

本节难点:用Prim算法构造最小生成树

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第六章:图

6.3图的遍历

6.3.1深度优先搜索

1.深度优先搜索的定义

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网、拓扑排序的步骤

技能要点:用Dijkstra算法求单元最短路径

拓扑排序算法

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P139;6

课后分析与小结:

本节重点:最短路径问题和拓扑排序

本节难点:Dijkstra算法、拓扑排序算法

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第六章:图

6.4图的应用

6.4.2最短路径

1.最短路径问题

2.单源最短路径

3.Dijkstra算法的思想

4.Dijkstra算法的C语言实现

6.4.3拓扑排序

1.有向无环图

2.AVO网

3.拓扑排序

4.拓扑排序的基本步骤

5.拓扑排序的算法思想

教师授课教案

教学单元(章节):第七章查找

7.1基本概念和术语

7.2静态查找表

教学目的:了解查找的概念和静态查找表结构

理解顺序查找和折半查找及其性能分析方法

知识要点:关键码、查找表、平均查找长度

顺序查找、有序表的折半查找、分块查找

技能要点:顺序查找、有序表的折半查找和

分块查找算法的基本思想

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P167:1、3

课后分析与小结:

本节重点:顺序查找、折半查找和分块查找算法

本节难点:折半查找算法的基本思想

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第七章查找

7.1基本概念和术语

1.关键码

2.查找表

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

课后分析与小结:

本节重点:常用的哈希函数、冲突处理方法

本节难点:冲突处理方法、哈希表的查找和性能分析

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第七章查找

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简单排序方法

教学目的:理解排序的基本概念

掌握插入排序、简单选择排序的方法

知识要点:排序的基本概念和性能分析

直接插入排序、冒泡排序、简单选择排序

技能要点:直接插入排序、冒泡排序和

简单选择排序的性能分析

教学方法:讲授+演示

教具及教学手段:投影

作业布置情况:P186:1

课后分析与小结:

本节重点:冒泡排序算法、直接插入排序算法

本节难点:冒泡排序算法、简单选择排序算法

审批:教研室主任(签字)年月日

抽查:系部主任(签字)年月日

教学内容及过程板书或旁注

第八章排序

8.1基本概念

1.排序

2.内排序

3.外排序

8.2简单排序方法

8.2.1直接插入排序

1.直接插入排序方法的思路

2.直接插入排序算法实现

3.直接插入排序效率分析

8.2.2冒泡排序

1.冒泡排序方法的思路

2.冒泡排序算法实现

3.冒泡排

温馨提示

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

评论

0/150

提交评论