1、海南软件职业技术学院课程授课计划任课教师:邓奉先 教学单位:软件工程系时 间:2015-2016 学年度第 2 学期课程类型:计算机课程名称:数据结构授课对象:13 软件技术 502教学目标:本课程介绍软件设计中常用的线性表、栈、队列、串、数组、广义表、树、二叉树、图结构等几种基本的数据结构及其存储结构和所施加的运算与实现等。另外,还介绍软件设计中常用的几种查找和排序算法,以及递归技术等,在介绍各项内容的同时,还涉及到算法设计与分析的基本技术和面向对象程序设计的理论与技术等内容。通过本课程的学习,能熟练掌握上述结构及其运算的实现和性能特点,掌握各种排序和查找运算以及递归技术,并能对给定的实际问
2、题,建立准确的问题模型,设计有效的问题求解方法,选择合理的数据结构及其运算集,设计有效的算法,从而为提高软件设计水平以及后续课程的学习打好基础。教学重点:本课程的重点内容是如何分析现有的实际数据,从中找出规律,抽象出对应的抽象数据类型,进而设计出各种基本算法。讲课过程中应尽量多举实例,通过举例来一步步引导学生学会如何分析数据、查找规律、抽象成数据类型和编写算法。教学难点:本课程难点包括:哈夫曼树及其应用、最短路径、哈希表、快速排序等,必须通过学生自己多做分析和实践,才能更好地掌握。教学方法:1. 多种媒体教学 在课堂教学中,多采用黑板粉笔和电子教案相结合的方式。电子教案中包含讲课的梗概,算法,
3、节省了大量抄写黑板的时间,用粉笔讲述算法描述和存储描述,两者结合使学生对所学知识更易理解和接受。2.课内辅导教学辅导课上可充分采用讨论式教学方式。对数据结构基本概念和算法的深入理解进行讨论,对学生习题中出现的典型错误进行讨论,并对某些专题进行研究式讨论。3理论与实际结合教学教学环境:多媒体教室。作业要求:本教材的基础部分是学生必须掌握的知识,因此要求基础部分的习题学生必须全做,其中选取较有代表性的作为作业。考核方式及成绩评定方法:本课程考核由平时抽查、实验报告、期末考试等部分组成。期末考试:50%。平时成绩(含平时考勤、提问、作业):50%。学时安排:周次计划学时 主 要 教 学 内 容授课类
4、型备 注1 4 第 1 章:绪论 理论、实验2 4 第 2 章:线性表的顺序存储结构及其算法 理论、实验3 4 第 2 章:线性表的链式存储结构及其运算(一) 理论、实验4 4 第 2 章:线性表的链式存储结构及其运算(二) 理论、实验5 4 第 3 章:栈(一) 理论、实验6 4 第 3 章:队列 理论、实验7 4 第 4 章:数组与字符串 理论、实验8 4 第 5 章:树的基本概念、二叉树 理论、实验9 4 第 5 章:二叉树的存储结构、二叉树的遍历 理论、实验10 4 第 5 章:二叉排序树和平衡二叉树、树、森林与二叉树之间的转换理论、实验11 4 第 5 章:哈夫曼树、B 树 理论、实
5、验12 4 第 6 章:图的基本术语、图的存储结构 理论、实验13 4 第 6 章:图的遍历、最小生成树 理论、实验14 4 第 6 章:最短路径、拓扑排序、关键路径 理论、实验15 机动一周 实训16 4 第 7 章:查找 理论、实验17 4 第 8 章:排序 理论、实验 18 4 期末复习 理论、实验19 考试 分章节实施方案: 课时安排:4 课时教学内容:第 1 章 绪论1. 1 引言1. 2 基本概念和术语1. 3 算法描述1. 4 算法分析教学目标:1、了解基本术语:数据结构、逻辑结构、存储结构、运算、算法及其内在关系、数据发展三阶段。 2、掌握评价算法的几项指标,算法的时间复杂度及
6、其基本求解方法和常用的时间复杂度。教学重点:数据结构基本概念、算法复杂度分析。教学难点:算法复杂度分析课时安排: 12 课时教学内容:第 2 章 线性表2. 1 线性表的基本概念2. 2 线性表的顺序存储结构及其算法2. 3 线性表的链式存储结构及其运算2. 4 线性表的应用举例教学目标:1、了解线性表的定义、特点2、掌握线性表的存储结构3、掌握顺序表的典型运算逻辑4、了解单链表、带头节点单链表、双链表、链式队列和链式栈的定义、特点 5、掌握单链表、链式队列、链式栈的插入删除算法教学重点:线性表的存储结构、基本操作在顺序表上的实现。线性表的链式存储结构、各链表基本操作的实现。教学难点:基本操作
7、在顺序表上的实现。线性表的链式存储结构、各链表基本操作的实现。课时安排: 8 课时教学内容:第 3 章 栈和队列3. 1 栈3. 2 队列教学目标:1、 掌握栈和队列的存储表示。2、 掌握栈和队列基本操作的实现。教学重点:栈和队列的存储表示及基本操作的实现。教学难点:栈和队列的存储表示及基本操作的实现。课时安排: 4 课时教学内容:第 4 章 串4. 1 串的基本概念4. 2 串的存储结构4. 3 串的基本运算4. 4 串的应用举例教学目标:1、了解概念:字符串、字符串的模式匹配、数组特殊矩阵、稀疏矩阵2、掌握字符串基本操作 。教学重点:字符串的基本操作。教学难点:字符串的基本操作。课时安排:
8、4 课时教学内容:第 5 章 树5. 1 树的定义和基本操作5. 2 二叉树教学目标:1、 掌握树的定义和运算、二叉树的定义、性质和存储2、 掌握二叉树的遍历方法。教学重点:二叉树的定义、性质和存储。教学难点:二叉树的遍历方法。课时安排: 4 课时教学内容:第 5 章 树5. 2 二叉树5. 3 二叉树的存储结构5. 4 二叉树的遍历教学目标:1、 掌握二叉树的遍历方法。教学重点:先序遍历二叉树、中序遍历二叉树。教学难点:后序遍历二叉树。课时安排: 4 课时教学内容:第 5 章 树5. 6 二叉排序树和平衡二叉树5. 7 树、森林与二叉树之间的转换教学目标:1、 掌握树的存储结构。2、 掌握树
9、、森林与二叉树的转换。3、 掌握树和森林的遍历。教学重点:树、森林与二叉树的转换。教学难点:树、森林与二叉树的转换、树和森林的遍历。课时安排: 4 课时教学内容:第 5 章 树和二叉树5. 8 哈夫曼树5. 9 B 树教学目标:1、 掌握哈夫曼树的定义及构造方法。2、 掌握哈夫曼编码。教学重点:哈夫曼树的定义及构造方法。教学难点:哈夫曼树的定义及构造方法、哈夫曼编码。课时安排:4 课时教学内容:第 6 章 图6. 1 图的基本术语6. 2 图的存储结构教学目标:1、掌握图的定义及相关术语。2、掌握邻接矩阵表示法。3、掌握邻接链表表示法教学重点:图的定义及基本概念。教学难点:邻接矩阵及邻接链表的
10、表示法。课时安排: 4 课时教学内容:第 6 章 图6. 3 图的遍历教学目标:1、掌握深度优先搜索遍历方法。2、掌握广度优先搜索遍历方法。教学重点:深度优先搜索遍历及广度优先搜索遍历方法。教学难点:深度优先搜索遍历及广度优先搜索遍历。课时安排: 4 课时教学内容:第 6 章 图6. 4 最小生成树教学目标:1、 理解生成树和最小生成树。2、 掌握最短路径和拓扑排序。教学重点:生成树和最小生成树、最短路径和拓扑排序。教学难点:最短路径和拓扑排序。课时安排:4 课时教学内容:第 7 章 查找7. 1 基本概念7. 2 顺序查找7. 3 二分法查找7. 4 分块查找7. 5 散列表及其查找教学目标
11、:1、 掌握查找的相关概念。2、 掌握静态查找的实现。3、 掌握二叉排序树的生成和插入。4、 掌握二叉排序树上的查找及删除。5、 掌握散列表和散列函数的相关概念。6、 掌握散列函数的构造方法。7、 掌握散列表的查找及分析。教学重点:静态查找的实现。二叉排序树的生成和相关操作。散列函数的构造方法及其查找及分析。教学难点:静态查找的实现。二叉排序树的生成和相关操作。散列函数的构造方法及其查找及分析。课时安排: 4 课时教学内容:第 8 章 排序8. 1 排序的基本概念8. 2 插入排序8. 3 选择排序8. 4 交换排序教学目标:1、 掌握内部排序相关概念。2、 掌握三种简单排序及快速排序方法。教学重点:三种简单排序及快速排序方法。教学难点:三种简单排序及快速排序方法。