《数据结构》课程教学大纲.docx
《数据结构》课程教学大纲
课程名称:数据结构
课程编码:621010070
英文名称:DataStructure
学 分:3
学 时:45
开课学期:第二学年秋季学期适用专业:信息管理与信息系统专业、大数据管理与应用专业课程类别:专业学位必修课
先修课程:程序设计基础,线性代数,概率论与数理统计
建议教材:《数据结构与算法Python语言描述》,第2版,裘宗燕,机械工业出版社,202112
课程教学目标思政育人目标
数据结构是信息管理与信息系统、大数据管理与应用、信息与计算科学、网络工程、计算机科学与技术专业的专业基础课。该课程旨在激励学生认真学习信息科学技术知识,关心信息技术的最新发展动态,关心国家大事,为实现中华民族伟大复兴而努力奋斗。引导学生培养正确三观,回报社会。使学生感受到只有具有责任心,有担当的青年大学生才能日后为国家做出更大的贡献,成为担负起民族复兴大任的时代新人。学习本课程能使学生掌握现实数据在计算机视野中的特征、分类、表示、存储和处理实现。为以后学习编译程序、操作系统、数据库系统等后续课程打下基础。
知识与能力目标
通过本课程的学习,使学生获得计算机科学各领域的数据结构知识,及有关的应用软件所要用到的各种数据结构知识。掌握常用的数据结构及内在的逻辑关系,掌握计算机软件设计中的算法知识。提高软件设计和编程技能。学会初步对不同的存储结构和相应算法的对比,有一定的算法改进能力。建立常用的查找思想方法和排序方法的体系结构,以及各方法的特点和适用条件,从而具备解决基本实际问题的能力。
课程教学基本要求
本课程与其相关课程的联系与分工:本课程的先修课程为程序设计基础。本课程需要了解程序设计语言中的一些基础知识,例如,基本的控制语句,循环语句,数组等。本课程在使用现代化教学手段方面的要求
1.本课程是计算机课程,采用大屏幕、多媒体教学,教学效果更好。
2.课堂教学使用多媒体,辅助动画演示,加深对原理和过程的理解教学要求
1.掌握数据结构的基本概念及术语。
2.掌握线性表(栈、队列)的存储结构(顺序和链式存储)、算法描述及典型应用。
3.掌握数组的顺序存储和特殊矩阵的压缩存储。了解广义表和串的应用。
4.掌握树的基本概念和术语,掌握二叉树的基本性质和特点、存储结构及算法描述、二
叉树的遍历、树、森林与二叉树的转换。二叉树的线索化图示。掌握最优二叉树(哈夫曼树)的特点及应用。
5.掌握图的基本概念和术语、存储结构(邻接矩阵、邻接表、十字链表、邻接多重表)、图的遍历、图的连通性(最小生成树)。了解拓扑排序及关键路径和最短路径的应用及意义。
6.掌握查找的基本概念、基于线性表的查找方法(顺序、折半)。了解基于树的查找方法(二叉排序树、平衡二排序叉树)。
7.掌握插入类排序(直接、折半、表、希尔等插入排序)、交换类排序(冒泡、快速排
序)。了解选择类排序、归并类排序和基数类排序。
三、课程教学内容
第一讲绪论与抽象数据类型(3学时)教学内容与学时分配:
1.数据结构的基本概念和常用的术语。1学时
2.算法描述和算法分析。2学时教学目标和要求:
介绍数据结构课程的研究对象,基本术语,掌握算法的要领,描述算法的类语言。了解数据结构的发展概况及其在计算机中的地位。
第二讲线性表(3学时)教学内容与学时分配:
1.线性表的逻辑结构。0.5学时
线性表的顺序存储结构。重点1学时
线性表的链式存储结构。重点、难点1学时
线性表应用举例。0.5学时教学目标和要求:
掌握线性表的逻辑结构、顺序存储结构和链式存储结构。掌握在线性表上实现基本运算的算法。
第三讲字符串(2学时)教学内容与学时分配:
1.串及其操作。1学时
2.串的存储结构。重点1学时教学目标和要求:掌握字符串的存储结构,以及字符串的操作算法。
第四讲栈与队列(4学时)教学内容与学时分配:
1.栈的定义及特点。1学时
2.栈的存储结构。重点1学时
3.队列的定义及特点。1学时
4.队列的存储结构。重点、难点1学时教学目标和要求:
掌握栈和队列的逻辑结构定义,掌握在两种存储结构上如何实现栈和队列的基本运算,掌握栈在程序设计中的应用。
第五讲二叉树和树(6学时)教学内容与学时分配:
1.树的结构定义和基本操作。1学时
2.二叉树遍历二叉树和线索二叉树。重点、难点2学时
3.数和森林树与等价问题。1学时
4.哈夫曼树及其应用。重点2学时教学目标和要求:
掌握树的基本概念和术语,掌握二叉树的基本性质和特点、存储结构及算法描述、二叉树的遍历、树、森林与二叉树的转换。掌握最优二叉树(哈夫曼树)的特点及应用。
第六讲图(6学时)教学内容与学时分配:
1.图的定义和术语。1学时
2.图的存储结构图的遍历。重点1学时
3.图的连通性问题。重点1学时
4.有向无环