还剩6页未读,继续阅读
文本内容:
数据结构教学大纲
一、课程概况所属专业计算机科学与技术开课单位数学计算机科学学院课程类型学科基础课程课程代码07412020开课学期3学分4学时课堂讲授64+课外自核心课程是主6拟使用教材:严蔚敏,吴伟民.《数据结构》(C语言版).清华大学出版社.
2011.7国内(外)现有教材:
[1]严蔚敏,李冬梅,吴伟民.数据结构(C语言版)(第2版).人民邮电出版社.
2016.8[2J陈燕,曹妍,贾红雨,李晔.数据结构(C语言版).科学出版社.
2016.5
[3]徐风生.数据结构与算法(C语言版).机械工业出版社.2()1().1()学习参考资料(11塞奇威克.算法C语言实现(第1-4部分)基础知识、数据结构、排序及搜索.机械工业出版社.
2006.9
[2]王梦菊,齐景嘉.数据结构习题与实训教程(C语言描述)(第2版).清华大学出版社.
2015.9[引袁和金.数据结构习题分析与解答(C语言版).中国电力出版社.
2012.8
二、课程描述本课程是计算机科学技术、信息管理等专业的核心课程,是一门理论与工程实践密切相关的综合性课程,在计算机学科教学中具有十分重要的作用主要解决数据的表示和数据的处理.,系统介绍计算机领域的常用数据结构以及各种查找和排序的算法通过强化数据结构基本知识和程序设计基本能力的双基训练,为学生后续计算机专业课程的学习打下坚实的基础
三、课程目标系统学习常用基本数据结构及其在不同存储方式下的实现,掌握分析、选择不同的数据结构和存储结构的原则和方法学习和掌握在各种存储结构上实现的各种算法及其设计思想,从而学习各种分析问题和解决问题的能力掌握各种算法的时空效率的分析方法,学会在实际应用中选择合适的算法掌握各种查找和排序的算法以及效率,并将其应用在程序设计中
四、教学要求依据本课程的性质、目的及任务,教学基本要求是紧扣多媒体教学、课后答疑、教学实验等儿个主要环节,要求学生系统地了解、熟悉和掌握数据结构的基本知识通过本课程的学习,要求学生掌握常用数据结构的基本概念及存储结构的特点,掌握不同存储结构上的相关运算,掌握算法设计的相关技巧使得学生熟悉各基本数据结构及其操作,掌握设计算法的步骤和算法分析方法,掌握数据结构在排序、查找和路由选择等常用算法中的应用,选择合适的数据结构来解决实际问题
五、考核方式及要求为实现课程教学目标,本门课程采用过程性考核和期末考核结合的方式进行考核过程性考核占总成绩40%,其中考勤占10%,随机点到,每人不少于3次;课程测验2次,占40%,测验时间和内容根据教学进度由教师安排;课程作业6次左右,按批改成绩折算,占40%;教师随堂检查学生课堂表现,占10%期末考核占总成绩60%,为闭卷考试
六、课程内容第一章绪论授课时间第三学期第一至二周教学目标了解数据结构的课程性质、内容、应用领域及与其他学科的关系;掌握数据结构的相关概念和术语;掌握四类基本的数据关系;理解抽象数据类型的表示及实现;对算法、算法要求、算法效率的度量进行有效的分析教学重点数据结构的相关概念和术语;抽象数据类型的表示及实现;算法及性能分析教学难点基本数据关系;算法效率的度量及有效的分析学时课堂教学8学时教学方法讲授法、演示法主要内容1数据结构的基本概念和术语2抽象数据类型的表示和实现3算法定义及特性4时间复杂度及空间复杂度学习方法小组讨论课后作业要求理解和掌握四类基本的数据关系;并在日常生活中举例进行说明;算法的5个特征;程序的语句的频度的分析第二章线性表授课时间第三学期第三至五周教学目标理解线性表的定义和特点;掌握顺序表以达到利用基本算法进行较复杂算法设计的目的;理解线性表的链表存储特点,掌握在该存储结构上各种基本运算的实现算法以及效率的分析,并学习在这种存储结构上进行算法设计的方法;掌握一元多项式的表示及相加的方法与算法教学重点线性表的定义和特点;线性表的顺序表示及实现;线性表的链式表示及实现教学难点线性表的顺序存储实现;单链表的插入、删除、查找和归并操作;一元多项式相加的方法学时课堂教学12学时教学方法讲授法、演示法主要内容1线性表的类型定义2线性表的顺序表示和实现3线性表的链式表示和实现4一元多项式的表示及相加学习方法小组讨论课后作业顺序存储结构上结点的插入、删除算法;链式结构上结点的插入、删除算法第三章栈与队列授课时间第三学期第六周教学目标理解栈的定义、特点,掌握判断其空和满的判断条件;学习栈的存储方式及相关算法,以及栈的简单应用;掌握队列的逻辑结构和链队列的相关操作;掌握循环队列的相关内容教学重点栈的定义、特点,栈的存储方式及相关算法;队列的数据结构和链队列的相关操作教学难点栈的简单应用;循环队列的相关操作学时课堂教学4学时教学方法讲授法、演示法主要内容1栈及其实现2栈的应用3循环队列及相关运算学习方法小组讨论课后作业栈基本操作的算法;循环队列的基本操作算法第四章:串授课时间第三学期第七周教学目标掌握串的定义、定长顺序存储表示;了解串的块链存储表示;掌握求子串位置的定位函数模式匹配算法教学重点串的定义、定长顺序存储表示;串的块链存储表示教学难点模式匹配算法学时课堂教学4学时教学方法讲授法、演示法主要内容1串的定义2串的表示和实现3串的模式匹配算法学习方法小组讨论课后作业串的链接操作;串的模式匹配算法第五章数组与广义表授课时间第三学期第八周教学目标掌握数组的定义、数组的顺序表示和实现;掌握特殊矩阵和稀疏矩阵的存储方法;掌握稀疏矩阵的转置算法;掌握广义表的相关定义及基本操作教学重点数组的定义、数组的顺序表示和实现;特殊矩阵和稀疏矩阵的存储方法;稀疏矩阵的转置算法;广义表的相关定义及基本操作教学难点数组的顺序表示和实现;稀疏矩阵的转置算法学时课堂教学4学时教学方法讲授法、演示法主要内容1数组的定义2数组的顺序表示和实现3矩阵的压缩存储4广义表学习方法小组讨论课后作业计算1-3维数组的任意元素的存储地址;稀疏矩阵的转置算法第六章树与二叉树授课时间第三学期第九至十一周教学目标掌握树的定义和基本术语、掌握二叉树的定义及二叉树的性质;掌握二叉树的两种存储;掌握二叉树的遍历方法;掌握树的存储结构;掌握森林与二叉树的转换;掌握哈夫曼树的构造及哈夫曼编码的编码方法教学重点树的定义和基本术语、二叉树的定义;二叉树的两种存储结构、二叉树的遍历方法;树的三种存储结构、森林与二叉树的转换;哈夫曼树的构造方法教学难点二叉树的性质;二叉树的存储结构及遍历方法;森林与二叉树的转换;哈夫曼编码学时课堂教学12学时教学方法讲授法、演示法主要内容1树的定义和基本术语2二叉树的定义3二叉树的性质4二叉树的存储结构5二又树的遍历6树的存储结构7森林与二叉树的转换8树的遍历9哈夫曼树及其应用学习方法小组讨论课后作业二叉树的基本形态及性质;对二叉树进行三种遍历操作;将树和森林与二叉树进行相互转换;构造哈夫曼书并进行编码第七章图授课时间第三学期第十二至十四周教学目标熟练掌握和理解有关图的各种定义和术语;理解和熟练掌握图的四种存储结构;熟练掌握图的遍历操作;数量掌握求图的连通分量的问题和最小生成树的问题;理解和熟练掌握图的拓扑排序的方法;理解和掌握求解图的关键路径的问题教学重点图的各种定义和术语二数组表示法、邻接表;图的遍历操作、求图的连通分量的问题;图的拓扑排序的方法;图的关键路径的问题;最短路径问题教学难点图的生成树、图的连通性;邻接多重表;最小生成树的问题学时课堂教学12学时教学方法讲授法、演示法主要内容1图的定义2图的存储结构3图的遍历4拓扑排序5最短路径学习方法小组讨论课后作业求解图的深度、广度优先搜索过程;构造最小生成树;求某一顶点到其它各顶点的最短路径第八章查找授课时间第三学期第十五周教学目标掌握顺序表的查找、有序表的查找、索引顺序表的查找、哈希表的构造方法以及处理冲突的方法教学重点顺序表的查找、哈希表的构造方法以及处理冲突的方法教学难点哈希表处理冲突的方法学时课堂教学4学时教学方法讲授法、演示法主要内容1静态查找表2动态查找表3哈希表学习方法小组讨论课后作业顺序查找算法;哈希表构造并采用开放定址法及链地址法处理冲突第九章内部排序授课时间第三学期第十六周教学目标掌握直接插入排序、其他插入排序、希尔排序、冒泡排序、快速排序及堆排序算法思想及性能分析教学重点直接插入排序、希尔排序、冒泡排序、快速排序及堆排序算法思想教学难点希尔排序、快速排序及堆排序算法思想及性能分析学时课堂教学4学时教学方法讲授法、演示法主要内容1内部排序概念2插入排序3快速排序4归并排序5基数排序各种排序方法比较学习方法小组讨论课后作业熟练掌握各种内部排序方法以及性能分析。