当前位置:文档之家› 数据结构教案(精品)

数据结构教案(精品)

保证删除操作能够正确进行的前提
移动数据元素时的注意事项
函数形参必须要用顺序表指针
插入和删除操作总结(约10分钟)
重点讲明白为什么在函数的形参中用的是顺序表指针,什么时候可以不用(顺序表内容没有改变时),什么时候必须用(顺序表内容发生改变)!
通过一个程序将1~4的基本操作和顺序表的建立、输出整合成一个程序进行整体讲解。
一个线性表是由零个或多个具有相同类型的数据元素组成的一个有序集合。通常把线性表记作:
L:(a1,a2,a3,…,ai,…,an)
称n为线性表的表长; n=0时的线性表为空表。
举例说明:易:手机号码簿
难:学生基本信息表
2.1.3线性表的基本操作(约10分钟)
表的初始化、求表长、取表中的结点、查找结点、插入结点和删除结点等。
LOC(ai)=LOC(a1)+(i-1)*l
注意数据元素在顺序表中的位置和数据下标差1。
用C语言建立顺序表(约20分钟)
方法一:程序中即确定顺序表长度
方法二:让用户输入顺序表长度
方法三:让用户直接输入数据元素,以特殊输入作为顺序表数据元素输入结束的标志。
顺序表的输出(约10分钟)
注意数据元素和数组下标的引用。
重点、难点
重点:顺序表的插入、删除、取元素、定位操作;
如何通过一个完整的程序实现具体操作;
如何引用顺序表中的相关内容。
难点:通过函数对顺序表进行操作时使用的形参应为指针类型的;
顺序表的插入、删除操作(需要移动数据元素);
如何通过函数调用完成对顺序表的相关操作(编写一个完整的程序)
授课内容
时间安排
复习线性表的定义、顺序表的特点。(约5分钟)
可以在主函数中实现,也可以通过功能函数实现。
教学方法
辅助手段
多媒体、黑板
讲授、启发、分析,通过实例让学生自己总结线性表的特点。
小结、作业
线性表的逻辑结构及顺序存储结构
作业:编写C程序创建一个顺序表并输出;复习对数组的操作。
教学反思
线性表第二次课
章节题目
第2章线性表
教学目标
掌握线性表的顺序存储结构;
熟练掌握顺序表基本操作中的关键语句;
重申数据结构的定义及内容
启发学生自己寻找实际生活中线性表的例子。
通过先易后难、先简单后复杂的结构加以说明。
让学生成为用户,进行分析,如果你要用一个线性表,你希望系统提供给你什么操作?
注意每个操作的已知条件,它将作为该函数的形参。
注意复习一下数组的相关重要知识。
注意灵活建立(尽量不要在程序当中就确定顺序表的长度)。
重点、难点
重点:线性表的定义及顺序存储结构的实现;
难点:使用C语言描述顺序表;
强调:数据元素从下标为0的数组元素开始存放。
授课内容
时间安排
复习数据结构的定义、基本概念(约5分钟)
2.1线性表的逻辑结构
2.1.1线性表的引例(约15分钟)
座位、单行路上的汽车、糖葫芦等。
2.1.2线性表的定义(约15分钟)
2.2.2顺序表的基本操作
1.初始化操作(约5分钟)
注意顺序表中数据元素和表长的引用方法。
2.求表长度操作(约5分钟)
注意len和MAXSIZE的区别。
3.定位操作(约10分钟)
注意算法的健壮性,正确操作和越界操作的情况都要涉及到。
4.取元素操作(约10分钟)
注意学会函数的形参如何设置。
前四个基本操作总结(约10分钟)
书上总结了8种,可以再加以扩充到10种以上(两个线性表的并集、线性表的输出、线性表的逆置、两个线性表的交集等)。
2.2线性表的顺序存储结构
2.2.1顺序表结构(约15分钟)
线性表的顺序表示:指的是用一组地址连续的存储单元依次存储线性表的数据元素。用物理位置来表示逻辑结构。
LOC(ai+1)=LOC(ai)+l
例:建立一个顺序表,实现顺序表的初始化、求表长、取元素及定位操作。(相关操作需要的数据由用户通过键盘提供)
5.插入操作(约20分钟)
注意:插入操作导致线性表逻辑结构的变化
保证插入操作能够正确进行的前提
移动数据元素时的注意事项
函数形参必须要用顺序表指针
6.删除操作(约15分钟)
注意:删除操作导致线性表逻辑结构的变化
哈尔滨金融学院教案
课程名称:__数据结构___
教师姓名:__李俭_______
所在系部:计算机系系统教研室_
编制时间:__20XX年9月____
教学课程的基本信息
教学单位
计算机系
授课单位
系统教研室
主讲教师
李俭
职称
副教授
专业
信息管理
年级
2011
班级
1、2
学生人数
70
基本教材
数据结构(C语言描述)
主要参考书
授课内容
时间安排
复习顺序表中插入操作和删除操作的主要注意事项(约5分钟)
2.2.2顺序表的基本操作
7.判断表空操作(约5分钟)
8.表置空操作(约5分钟)
说明置空操作与初始化操作的实现方法一样,但是从用户角度说,这是两个操作。
总结顺序表的基本操作(约5分钟)
顺序表的应用
例1:顺序表中数据元素的逆置(约25分钟)
教学反思
线性表第三次课
章节题目
第2章线性表
教学目标
掌握线性表的顺序存储结构;
熟练掌握顺序表基本操作中的关键语句;
掌握顺序表的应用;
重点、难点
重点:如何通过一个完整的程序实现具体操作;
如何引用顺序表中的相关内容。
个以上的顺序表进行操作时需要注意的问题
数据结构习题与实训教程(C语言描述)
周学时
4
总学时
68
理论教学学时
50
实验教学学时
18
授课时间
周一5、6;周五3、4
授课地点
X209;S712
备注
线性表第一次课
章节题目
第2章线性表
教学目标
掌握线性表的逻辑定义;熟悉线性表的基本操作种类;了解一些较为复杂的线性表基本操作;掌握线性表的顺序存储结构的特点。
移动数据元素时通过最先操作和最后操作,讲解如何编写循环实现数据元素移动的技巧。
通过一个程序将插入和删除操作以及顺序表的建立、输出整合成一个程序进行整体讲解。
讨论:其他的实现方法
教学方法
辅助手段
讲授、启发、分析、讨论
多媒体、黑板
小结、作业
如何利用所学基本操作来实现对顺序表的一系列操作
作业:习题与实训中的和顺序表有关的典型题例2.1、2.2
引导学生思考:解决问题的方法是什么?
思路:将第一个数据元素和最后一个数据元素交换,第2个数据元素和倒数第2个数据元素交换,以此类推,交换到中间为止。不能用一个顺序表作辅助空间,否则将导致空间复杂度太高。
分别讲解解决问题的两种方法
例2:顺序表中元素值非递减有序排列,写一算法删除表中值相同的多余元素。(约15分钟)
相关主题