个人介绍
数据结构与算法

主讲教师:欧群雍 冯学晓

教师团队:共10

  • 冯学晓
  • 徐其兴
  • 牛亚莉
  • 于星辉
  • 杜梅
  • 刘慧慧
  • 陈瑾瑾
  • 王丙坤
  • 于怡然
  • 孟悦
学校: 郑州工业应用技术学院
开课院系: 信息工程学院
专业大类: 计算机类
开课专业: 计算机科学与技术、物联网工程
课程英文名称: Data Structure & algorithm
课程编号: 112078
学分: 3
课时: 48
课程介绍
数据结构是计算机专业的专业核心课程,是介于数学、计算机硬件和软件之间的一门综合性的课程。数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。课程将系统地介绍软件设计中常用的几种数据结构和相应的存储结构和算法及分析方法,以及常用的几种查找和排序算法。 
教师团队

冯学晓

职称:副教授

单位:郑州工业应用技术学院

部门:信息工程学院

职位:教研室主任

徐其兴

职称:教授

单位:郑州工业应用技术学院

部门:信息工程学院

牛亚莉

职称:教授

单位:郑州工业应用技术学院

部门:信息工程学院

于星辉

职称:教师

单位:郑州工业应用技术学院

部门:信息工程学院

杜梅

职称:讲师

单位:郑州工业应用技术学院

部门:信息工程学院

刘慧慧

职称:教师

单位:郑州工业应用技术学院

部门:信息工程学院

陈瑾瑾

职称:讲师

单位:郑州工业应用技术学院

部门:信息工程学院

王丙坤

职称:工程师

单位:郑州工业应用技术学院

部门:信息工程学院

于怡然

职称:教师

单位:郑州工业应用技术学院

部门:信息工程学院

孟悦

职称:教师

单位:郑州工业应用技术学院

部门:信息工程学院

教学方法

我们把数据结构的教学过程分为理论教学、实验教学、阶段性考试和线上线下相结合的混合式教学模式改革实践等几个方面的活动,从而使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择合适的逻辑结构、存储结构及其相应的算法并初步掌握算法的时间分析和空间分析的技术;本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范,进一步培养学生的数据抽象能力。在教学过程中,把培养学生良好的学习方法、实事求是的态度、勇于创新和团结协作的精神、应用能力和创新能力贯穿其中。在教学模式上,树立学生是学习的主人,教师是学习的指导者、协助者的观点,淡化教师的“教”,强化学生的“学”。

1.教学环节中重点突出本课程“核心课程”地位:考虑到数据结构、算法和程序设计是计算机科学的核心,课程的知识结构具有计算机专业学习的基础平台的作用,将前导课程(如计算机导论、高级程序设计语言、离散数学和线性代数等)与后继课程(算法设计与分析、编译原理、操作系统、计算机网络、软件工程等)进行串联,充分考虑课程前驱后继的联系。

2.实施阶段性考试改革:数据结构是一门强调实践的计算机核心课程,而传统的期末成绩主要考虑卷面成绩,容易形成高分低能的情况。我们在现有计算机课程实验基础上,按知识点和能力培养目标进行基于PTA平台支持的阶段性上机考核,并纳入课程考核,充分发挥阶段性考查对于学生的自查、督促的作用,在提高学生理论知识掌握的同时,提升学生实践动手的能力。

3.开展基于MOOC平台的线上线下混合式教学模式的探索和实践。一方面通过MOOC课程资源的建设和开放,促进学生的自主学习,以增强学生学习的兴趣和积极性,培养和考核学生的自学能力,包括课程在线学习、回答与提出问题、师生与生生之间的交流情况,以及学生在线作业完成情况,并纳入课程期末考核。另一个方面,线下的理论课程和实验教学,系统深入地进行知识传授与实验技能的训练,提升学生计算思维能力和实践创新能力的培养。

4.通过48学时(每周3学时)的理论教学,24学时(每周2学时)的实验教学和基于PTA平台的阶段性考试以及贯穿于课程教学线上显现混合式教学模式改革实践,从理论到实践,系统地培养和训练学生扎实的专业基本功,体现出课程的核心地位,并促进学生的专业发展和能力的提升。


教学条件

1.教材使用  

     教材选用人民邮电大学出版社严蔚敏老师编著《数据结构(C语言版)》。该教材是一本优秀的课堂教材,非常系统和完整。课程自身的复杂性和抽象性,造成大多数学生理解得不够深刻。因此我们在实际教学中,根据计算机技术的新发展与我们教学研究与科学研究的新成果,适时加入一些新思想、新内容,适度补充一些当代技术进步的新知识和新成果,并结合线上线下混合教学模式进行教学改革与探索。

2.教材建设

   (1)为了进一步完善本课程的教材体系,课程组配套编写了郑州工业应用技术学院数据结构课程实施大纲,并评为郑州工业应用技术学院优秀课程实施大纲。

   (2)建立了完整的多媒体课件资源,并基于MOOC平台进行相关资源的建设,主要包括:课程介绍、教学和实验大纲、完整的课程教学视频、单元测试题、在线讨论、完整的多媒体教学课件以及教学设计方案等。

   (3)准备有《数据结构实验教程(C语言版)》,从理论知识的回顾,问题的提出与分析、数据结构的选择与实现、算法的设计与分析、完整的程序结构的搭建等,使学生更好地理解数据结构理论知识的基础上,通过实验教学,更好地训练分析问题和解决问题的能力,以及计算思维的培养。

3.实验条件

    信息工程学院实验室能充分保证该专业教学实践和科研需要。实验室分为两种类型:教学实验室和科研实验室,很好地保障了学科专业的发展和课程教学实践、实习实训等工作的开展。

    在教学中,我们针对部分学有余力的同学补充了大量与考研相关的练习题,也补充了一些新的知识(例如:神经网络基础知识、算法分析初步、图像传输和编码技术、图论的基础知识和人工智能基础知识等),并通过项目带动学生的动手能力,结合线上线下混合式教学改革和实践,开设了自己的SPOC课程,并实施阶段性考试,更好地促进学生学习的积极性和创造性,并给学生推荐了优秀的MOOC资源,从而扩大了学生的眼界,对学生的思维训练很有帮助,很受学生欢迎。


教学效果

数据结构经过多年教学改革和研究,该课程组成员具有较强的专业课程教学能力,专业知识面广,实践经验丰富,承担了多项纵向课题的研究,以及多项横向课题的开发,对数据结构的基本知识和算法有较深刻的理解,能在教学过程中结合自身丰富的实践经验深入浅出地讲授数据结构的教学内容,教学效果良好,每年网上综合考核成绩均为优秀。

通过数据结构课程的理论知识学习和动手实践,学生能够应用数据结构知识分析解决实际问题,以及设计实现数据操作的各种算法,培养算法设计、分析、优化与验证,以及程序设计等技能和技巧。通过数据结构课程中对复杂程序设计的训练,学生编写的程序结构较之前更加清楚和正确易读,符合软件工程的规范,较好地培养了学生的数据抽象能力。通过该课程学习,多名学生参加了各类程序设计竞赛(如蓝桥杯国家软件和信息技术专业人才大赛、ACM程序设计竞赛等),推荐进入了教师所申报的横、纵向课题,更好地训练和提升了学生综合素质和能力水平。


参考教材

1.建议学生阅读著作
  
《数据结构题集(C语言版)》,严蔚敏,吴伟民编著,北京:清华大学出版社,2011年11月
  
《数据结构及应用算法教程(修订版)》,严蔚敏,吴伟民,米宁编著,北京:清华大学出版社,2011年5月
  
《数据结构与算法分析:C语言描述(原书第2版)》,(美)维斯 著,冯舜玺 译,机械工业出版社,2004年1月
  
《计算机程序设计艺术卷1:基本算法(英文版 第3版)》,(美)Donald E.Knuth,北京:人民邮电出版社,2010年10月
  
《算法导论》,(美)Thomas H.Cormen,Charles E.Leiserson等,北京:机械工业出版社,2006年9月
  
《算法与数据结构考研试题精析(第2版)》,陈守孔,胡潇琨,李玲编著,机械工业出版社,2007年7月
  
《计算机程序设计艺术(卷4A组合算法1英文版)》,(美)Donald E.Knuth,北京:人民邮电出版社,2012年2月
  
《算法(英文版)第4版》,(美)Robert Sedgewick,Kevin Wayne,北京:人民邮电出版社,2012年3月
  
《C++编程思想(两卷合订本)》,(美)Bruce Eckel,Chuck Allison,北京:机械工业出版社,2011年7月
  
2.
建议学生阅读期刊
  
《计算机学报》
  
《计算机研究与发展》
  
《计算机辅助设计与图形学学报》
  
《计算机应用》
  
《计算机科学》
  
《计算机应用研究》
  
《计算机技术与发展》
  
《计算机工程与应用》
  
《计算机科学与探索》
  
《Journalof Computer Science and Technology》
  
《计算机仿真》
  
《计算机教育》
  
《计算机与现代化》


课程简介

数据结构课程是计算机科学与技术、物联网工程专业的专业核心课程,主要内容包括软件设计中常用的几种数据结构(线性表、栈和队列、串、数组、广义表、树和二叉树、图)以及相应的存储结构和基本操作的算法描述及其分析,介绍几种典型的查找和排序算法,对其进行性能分析和比较。课程的重点为线性表、栈和队列、二叉树、图及其基本应用等知识,具体内容及重点难点如下:

1.线性结构

重点:掌握顺序表和单链表的描述和插入、删除运算以及算法的效率分析,栈和队列的运算及循环队列,串的模式匹配,数组的顺序存储,矩阵的压缩存储。

难点:单链表的插入、删除运算和链表的应用,栈与递归的关系,栈与队列的应用,串的改进模式匹配算法,稀疏矩阵的压缩存储及运算。

2.树型结构

重点:掌握二叉树的性质及遍历算法,线索二叉树的定义,树、森林与二叉树之间的转换,Huffman树的构造算法及Huffman编码、译码。

难点:二叉树的遍历算法,尤其是非递归遍历算法,及递归遍历算法的应用,Huffman编码、译码及其应用。

3.图结构

重点:掌握图的邻接矩阵和邻接表存储结构,图的深度优先和广度优先遍历,最小生成树、拓扑排序、关键路径和最短路径的求解。

难点:求最小生成树、拓扑排序、关键路径和最短路径算法。

4.查找

重点:掌握静态查找中的顺序查找、折半查找算法及平均查找长度,动态查找中的二叉查找树的构造及其平衡化处理,哈希表的构造及冲突的处理。

难点:折半查找算法及平均查找长度、二叉查找树的构造及其平衡化处理、哈希表的冲突处理。

5.排序

重点:掌握插入、交换、选择等基本排序方法和改进的排序方法,归并排序算法及基数排序算法。

难点:快速排序算法、堆排序算法和归并排序算法。


课程评价

教学资源
课程章节 | 文件类型   | 修改时间 | 大小 | 备注
1.1.1 什么是数据结构
视频
.mp4
2023-09-27 86.78MB
1.1.2 基本概念和术语
视频
.mp4
2023-09-27 89.60MB
1.1.3 数据结构的内容
视频
.mp4
2023-09-27 36.56MB
1.1.4 算法和算法分析
视频
.mp4
2023-09-27 48.76MB
 
视频
.mp4
2023-09-27 100.26MB
 
视频
.mp4
2023-09-27 98.00MB
1.2 授课内容
文档
.ppt
2023-09-27 1.21MB
1.3 授课视频
视频
.mp4
2023-09-27 72.57MB
 
视频
.mp4
2023-09-27 70.49MB
1.4 测验
作业
.work
2022-08-12 --
1.5 作业
作业
.work
2022-08-12 --
2.1.1 线性表的定义
视频
.mp4
2023-03-10 99.80MB
2.1.2 线性表的顺序表示与实现
视频
.mp4
2023-03-10 121.55MB
2.1.3 线性表的链式存储表示与实现
视频
.mp4
2023-03-10 139.08MB
 
视频
.mp4
2023-03-10 35.59MB
 
视频
.mp4
2023-03-10 82.18MB
2.1.4 典型应用—一元多项式的表示和相加
视频
.mp4
2023-03-10 55.60MB
2.3 测验
作业
.work
2022-08-12 --
2.4 作业
作业
.work
2022-08-12 --
3.1 栈
视频
.mp4
2023-09-27 63.84MB
 
视频
.mp4
2023-09-27 72.80MB
 
视频
.mp4
2023-09-27 58.05MB
3.2 栈的应用举例
视频
.mp4
2023-09-27 78.04MB
 
视频
.mp4
2023-09-27 104.15MB
 
视频
.mp4
2023-09-27 109.53MB
3.3 栈与递归
视频
.mp4
2023-09-27 146.79MB
3.4 队列
视频
.mp4
2023-09-27 49.27MB
 
视频
.mp4
2023-09-27 70.45MB
 
视频
.mp4
2023-09-27 107.06MB
3.5 测验
作业
.work
2022-08-12 --
3.6 作业
作业
.work
2022-08-12 --
4.1 串类型的定义
视频
.mp4
2023-09-27 53.53MB
4.2 串的表示和实现
视频
.mp4
2023-09-27 161.50MB
4.3 串的模式匹配算法
视频
.mp4
2023-09-27 146.52MB
4.4 测验
作业
.work
2022-08-12 --
4.5 作业
作业
.work
2022-08-12 --
5.1 数组的定义
视频
.mp4
2023-09-27 56.97MB
5.2 数组的顺序表示和实现
视频
.mp4
2023-09-27 77.69MB
5.3 矩阵的压缩存储
视频
.MP4
2023-09-27 128.35MB
 
视频
.MP4
2023-09-27 201.51MB
 
视频
.mp4
2023-09-27 71.43MB
 
视频
.mp4
2023-09-27 85.19MB
5.4 广义表的定义
视频
.mp4
2023-09-27 55.25MB
5.5 广义表的存储结构
视频
.mp4
2023-09-27 115.24MB
5.6 测验
作业
.work
2022-08-12 --
5.7 作业
作业
.work
2022-08-12 --
6.1 树
视频
.mp4
2023-09-27 84.50MB
6.2 二叉树
视频
.mp4
2023-09-27 31.55MB
 
视频
.mp4
2023-09-27 76.47MB
 
视频
.mp4
2023-09-27 66.28MB
6.3 二叉树的遍历及应用
视频
.mp4
2023-09-27 86.41MB
 
视频
.mp4
2023-09-27 134.01MB
6.4 Hufffman树
视频
.mp4
2023-09-27 99.87MB
 
视频
.mp4
2023-09-27 57.84MB
 
视频
.mp4
2023-09-27 109.86MB
6.5 树、森林和二叉树
视频
.mp4
2023-09-27 48.15MB
 
视频
.mp4
2023-09-27 62.13MB
6.6 测验
作业
.work
2022-08-12 --
6.7 作业
作业
.work
2022-08-12 --
7.1 图的定义和基本术语
视频
.mp4
2023-09-27 120.16MB
7.2 图的存储结构
视频
.mp4
2023-09-27 100.66MB
 
视频
.mp4
2023-09-27 122.77MB
7.3 图的遍历
视频
.mp4
2023-09-27 158.99MB
 
视频
.mp4
2023-09-27 83.84MB
7.4 最小生成树
视频
.mp4
2023-09-27 105.91MB
 
视频
.mp4
2023-09-27 78.80MB
7.5 有向无环图及其应用
视频
.mp4
2023-09-27 142.46MB
 
视频
.mp4
2023-09-27 141.22MB
7.6 最短路径
视频
.mp4
2023-09-27 124.42MB
 
视频
.mp4
2023-09-27 69.55MB
7.7 测验
作业
.work
2022-08-12 --
7.8 作业
作业
.work
2022-08-12 --
8.1 静态查找表
视频
.mp4
2023-09-27 74.70MB
 
视频
.mp4
2023-09-27 54.06MB
 
视频
.mp4
2023-09-27 49.93MB
8.2 动态查找表
视频
.mp4
2023-09-27 108.42MB
 
视频
.mp4
2023-09-27 58.70MB
8.3 哈希表
视频
.mp4
2023-09-27 75.37MB
 
视频
.mp4
2023-09-27 251.10MB
 
视频
.mp4
2023-09-27 88.95MB
8.4 测验
作业
.work
2022-08-12 --
8.5 作业
作业
.work
2022-08-12 --
9.1 排序概述
视频
.mp4
2023-09-27 53.94MB
9.2 插入排序
视频
.mp4
2023-09-27 88.61MB
9.3 交换排序
视频
.mp4
2023-09-27 94.39MB
9.4 选择排序
视频
.mp4
2023-09-27 82.60MB
9.5 归并排序
视频
.mp4
2023-09-27 39.84MB
9.6 基数排序
视频
.mp4
2023-09-27 70.69MB
9.7 各种内部排序方法的比较
视频
.mp4
2023-09-27 61.90MB
9.8 测验
作业
.work
2022-08-12 --
9.9 作业
作业
.work
2022-08-12 --
提示框
提示框
确定要报名此课程吗?
确定取消

京ICP备10040544号-2

京公网安备 11010802021885号