最新《数据结构》教案.docx
《最新《数据结构》教案.docx》由会员分享,可在线阅读,更多相关《最新《数据结构》教案.docx(54页珍藏版)》请在冰豆网上搜索。
![最新《数据结构》教案.docx](https://file1.bdocx.com/fileroot1/2022-10/18/ed603aaa-92c1-4159-bde6-cc2a65f475a1/ed603aaa-92c1-4159-bde6-cc2a65f475a11.gif)
最新《数据结构》教案
教学单元(章节):
第一章:
绪论
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.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)框图/流程图算法
(2)非形式算法
(3)伪语言算法(4)高级语言算法
1.3算法分析
时间复杂度:
解决某问题所花费的时间大小,即程序运行从开始到结束所需要的时间,记为T(n)
空间复杂度:
解决某问题的程序完全运行时所占用的存储空间大小,记为S(n)
【例】算法MatrixMultidy的时间复杂度T(n)如(1.1)式所示,当n趋向无穷大时,显然有
教师授课教案
教学单元(章节):
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指针变量作为函数参数
(1)使一个指针变量指向另一个变量
(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概述
11.2定义结构体类型变量的方法
1.先定义结构体类型,再用类型标识去定义变量
2.定义类型的同时定义变量3.直接定义结构体类型变量
11.3结构体变量的引用
1.结构体变量各成员的引用
引用形式:
结构体变量名.成员名
2.结构体变量各成员的输入、输出
11.4结构体变量的初始化
11.5结构体数组
1.结构体数组的定义2.结构体数组的初始化
3.结构体数组stu的存储结构4.结构体数组的引用
11.6指针与结构体
1.指向结构体变量的指针
2.指向结构体变量的指针与结构体变量的等价关系
11.7用指针处理链表
11.7.3处理动态链表所需的函数
内存分配函数原型:
void*malloc(unsignedsize);
内存分配函数原型:
void*calloc(unsignedsize);
内存释放函数原形:
voidfree(void*p);
11.10用typedef定义类型
1、使用的一般形式:
typedef原类型名新类型名;
2.用typedef定义类型的方法(举例)
①先按定义数组变量形式书写:
intn[100];
②将变量名换成新类型名:
int NUM[100];
③在最前面加上typedef:
typedefintNUM[100];
④用新类型名来定义变量:
NUM n;
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)