《数据结构》教案docWord格式文档下载.docx
《《数据结构》教案docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《《数据结构》教案docWord格式文档下载.docx(54页珍藏版)》请在冰豆网上搜索。
审批:
教研室主任(签字)年月日
抽查:
系部主任(签字)年月日
教学内容及过程
板书或旁注
第一章:
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)高级语言算法
时间复杂度:
解决某问题所花费的时间大小,即程序运行从开始到结束所需要的时间,记为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.1一维数组的定义
7.1.2一维数组的引用
7.1.3一维数组的初始化
7.1.4一维数组程序举例
7.2.1二维数组的定义
7.2.2二维数组的引用
7.2.3二维数组的初始化
7.2.4二维数组程序举例
7.3.1字符数组的定义
7.3.2字符数组的初始化
7.3.3字符数组的引用
7.3.5字符数组的输入输出
C语言第十章:
指针
10.1地址和指针的概念
10.2变量的指针和指针变量
理解地址和指针的概念
掌握指针变量的定义和引用
地址、指针、指针变量的定义和引用、
指针变量作为函数参数
指针变量的定义和引用
指针变量作为函数参数
P278;
10.1
P278;
10.2
本节重点:
指针的含义、指针变量的引用
指针变量的引用、指针变量作为函数参数
C语言第十章:
指针
1.地址的概念
2.指针的概念
10.2.1定义一个指针变量
1.定义指针变量的一般形式:
基类型*指针变量名
2.定义指针变量的注意事项
10.2.2指针变量的引用
1.&
——取址运算符。
2.*——指针运算符,
10.2.3指针变量作为函数参数
(1)使一个指针变量指向另一个变量
(2)通过指针变量访问整型变量
10.3.1指向数组元素的指针
10.3.2通过指针引用数组元素
10.4.1字符串的表现形式
10.8指针运算小结
掌握通过指针引用数组元素
理解字符串的表现形式
掌握指针的相关运算
数组与指针、字符串与指针、指针运算
通过指针引用数组元素、字符串的表现形式
指针的各种运算
P279;
10.6
P279;
10.9
指针运算、通过指针引用数组元素和字符串
通过指针引用数组元素、字符串
10.3数组与指针
定义一个指向数组元素的指针变量
数组元素的引用可以用
1.下标法:
a[i]
2.指针法:
*(a+i)或*(p+i)
10.4字符串与指针
1.用字符数组存放一个字符串
2.用字符指针指向一个字符串
3.字符串常量和字符指针的初始化
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);
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)