《数据结构》教案.doc

上传人:聆听****声音 文档编号:25583 上传时间:2023-04-28 格式:DOC 页数:72 大小:391.54KB
下载 相关 举报
《数据结构》教案.doc_第1页
第1页 / 共72页
《数据结构》教案.doc_第2页
第2页 / 共72页
《数据结构》教案.doc_第3页
第3页 / 共72页
《数据结构》教案.doc_第4页
第4页 / 共72页
《数据结构》教案.doc_第5页
第5页 / 共72页
《数据结构》教案.doc_第6页
第6页 / 共72页
《数据结构》教案.doc_第7页
第7页 / 共72页
《数据结构》教案.doc_第8页
第8页 / 共72页
《数据结构》教案.doc_第9页
第9页 / 共72页
《数据结构》教案.doc_第10页
第10页 / 共72页
《数据结构》教案.doc_第11页
第11页 / 共72页
《数据结构》教案.doc_第12页
第12页 / 共72页
《数据结构》教案.doc_第13页
第13页 / 共72页
《数据结构》教案.doc_第14页
第14页 / 共72页
《数据结构》教案.doc_第15页
第15页 / 共72页
《数据结构》教案.doc_第16页
第16页 / 共72页
《数据结构》教案.doc_第17页
第17页 / 共72页
《数据结构》教案.doc_第18页
第18页 / 共72页
《数据结构》教案.doc_第19页
第19页 / 共72页
《数据结构》教案.doc_第20页
第20页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《数据结构》教案.doc

《《数据结构》教案.doc》由会员分享,可在线阅读,更多相关《《数据结构》教案.doc(72页珍藏版)》请在冰点文库上搜索。

《数据结构》教案.doc

教学单元(章节):

第一章:

绪论

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)

6.插入:

Insert_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)出栈:

删除(弹出)栈S的顶部元素

(5)取栈顶):

取栈S的顶部元素

(6)判断空栈Empty_Stack(S):

空栈返回1

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

1.顺序栈

1)顺序栈的定义

2)顺序栈基本运算

⑴置空栈

⑵判空栈

⑶入栈

⑷出栈

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

2.链栈

1)链栈的定义

2)链栈基本运算

⑴置空栈

⑵判空栈

⑶入栈

⑷出栈

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_Queue(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)串定位

(7)插入

(8)删除

(9)串替换

4.1.2串的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2