个人介绍
数据结构 吴岳芬等
课程公告
      此前如果你学习过C语言或C++,那就知道程序就是用来处理特定问题的指令集。程序设计就是设计程序的过程;而程序员,则是从事程序设计的专业人员。 但是,我们要成为程序设计的高手之路还很漫长。这里我拿《笑傲江湖》做个类比,程序员就好比剑客,C语言就是那些基本的使剑招式,VC++6.0好比剑客手中的利剑。但仅仅这些,还成不了一等一的高手。我们还缺什么,那就是剑法,好比独孤九剑。只有掌握了剑法,才能根据不同的对手(即面临的问题),灵活的运用剑招与之对决(即解决问题)。这种程序设计中的剑法就是“数据结构”。   教学中,我们采用案例式、问题驱动教学, 最后,我们还要运用本课程知识,实现一些小型的工程项目,通过实战达到融会贯通。  《数据结构》2018年下学期于9月20日开课,感兴趣的小伙伴们请关注!(^o^)
课程简介
    1.课程的内容及定位
    《数据结构》是计算机、电子信息等大类专业的主干核心课程,主要讲授基本数据结构的知识与应用、常用算法的设计与分析等内容。数据结构是一门理论与实践紧密结合的课程,具有抽象性和应用性等特征,对于培养学生软件设计能力、系统思维能力、工程应用能力具有重要作用。
  
    2.教学目标
    着重培养学生的工程应用能力和自主学习能力。
    
    3.课程教学计划
学    时:72(其中24学时为实践教学,利用“练测评一体化平台”,给在校学生及社会学习者进行在线实践实训。)
开课学期:每学年2期 
课程类别:专业核心课
选课方式:全校本科生及社会学习者网上学习,每期人数不限
    
    4.课程的内容体系
    根据课程特点以及信息技术的使用,将整门课程讲授分为前后衔接的四个部分。第一部分介绍数据结构和算法概述;第二部分介绍线性结构的存储、基本操作和应用;第三部分介绍非线性结构的存储、基本操作及应用;第四部分介绍程序设计中常用的典型算法。
    
     5.课程期未考核评定:
①通过视频学习,完成单元小测试和作业的总分不低于60分,并且期评考核及格。达到课程要求后,可获得主讲教师签名颁发的电子版合格证书或优秀证书,可在线打印合格证书或优秀证书。
②期评考核成绩=自主学习30%(单元小测试50%+作业50%)+阶段性考核30%+期未考核40%。60分-84分为合格,85分及以上为优秀。

     6.课程建设基础
     《数据结构》课程2016年获湖南省普通高校信息化教学应用项目“名师空间课堂”立项,2017年认定为校级优秀精品类课程,2015年、2016年获校级“优秀网络课程”。
教学团队

吴岳芬 副教授

单位:湖南理工学院

部门:信息科学与工程学院

职位:数据结构开放课程负责人

郭观七 教授

单位:湖南理工学院

部门:信息科学与工程学院

职位:湖南省高校学科带头人 湖南省重点实验室主任

潘理 教授

单位:湖南理工学院

部门:信息科学与工程学院

职位:信息学院副院长

李文彬 副教授

单位:湖南理工学院

部门:信息科学与工程学院

职位:计科教研室主任

蒋军强 讲师、博士

单位:湖南理工学院

部门:信息科学与工程学院

职位:数据结构开放课程在线助教

周嘉伟 讲师

单位:湖南理工学院

部门:信息科学与工程学院

职位:数据结构开放课程在线助教

练测评一体化平台

“程序设计类课程练测评一体化平台”,由教学团队李文彬老师、吴岳芬老师主持开发,2017年成功申报软件著作权。练测评一体化平台网址链接如下,请点击进入该平台:


数据结构混合式教学模式简介

教学大纲目录


湖南省在线开放课程《数据结构》教学大纲




周 次授课进程单元名称知识点/技能点
第1周第1讲 绪论第1课 数据结构概述1.1.1 数据结构的基本概念
1.1.2 抽象数据类型
第2课 算法概述1.2.1 算法的定义及性能分析(上)
1.2.2 算法的定义及性能分析(下)
第2讲 线性表(上) 
      -顺序表
第1课 案例引入2.1 案例引入-手机通讯录系统的设计与实现 
第2课 理论基础2.2 线性表及顺序存储 
第3课 解决方案2.3.1 通讯录顺序表的定义及初始化 
2.3.2 通讯录顺序表的插入操作 
2.3.3 通讯录顺序表的删除操作 
2.3.4 通讯录顺序表的其他操作 
第4课 编程实现2.4 编程实现-手机通讯录顺序结构及相关操作的设计与实现   
第2周

第3讲 线性表(下)      

   -单链表

第1课 案例引入3.1 案例引入-手机通讯录系统的设计与实现 
第2课 理论基础3.2 单链表的基本概念  
第3课 解决方案3.3.1 头插法建通讯录单链表 
3.3.2 尾插法建通讯录单链表 
3.3.3 通讯录单链表的插入及删除操作 
3.3.4 通讯录单链表的其他操作 
第4课 编程实现3.4 编程实现-手机通讯录链式结构及相关操作的设计与实现  
第3周第4讲 栈第1课 案例引入4.1 案例引入-手机计算器的简单表达式求值问题   
第2课 理论基础4.2.1 栈的基本概念 
4.2.2 栈的顺序存储及操作
4.2.3 栈的链式存储及操作 
4.2.4 栈与递归  
第3课 解决方案4.3.1 简单表达式求值的过程分析  
4.3.2 简单表达式求值的算法分析 
第4课 编程实现4.4 编程实现-手机计算器的简单表达式求值的设计与实现    
第4周第5讲 队列-循环队列第1课 案例引入5.1 案例引入-银行排队叫号问题  
第2课 理论基础5.2.1 队列的基本概念 
5.2.2 队列的顺序存储 
第3课 解决方案5.3 基于循环队列的银行排队叫号过程的处理 
第4课 编程实现5.4 编程实现-基于循环队列的银行排队叫号问题的设计与实现     
第6讲 队列-链队列第1课 案例引入6.1 案例引入-银行排队叫号问题   
第2课 理论基础6.2 队列的链式存储 
第3课 解决方案6.3 基于链队列的银行排队叫号过程的处理    
第4课 编程实现6.4 编程实现-基于链队列的银行排队叫号问题的设计与实现    
第5周第7讲 树和二叉树第1课 案例引入7.1 案例引入-哈夫曼编码 
第2课 理论基础7.2.1 树的基本概念  
7.2.2 树的存储与遍历  
7.2.3 二叉树的基本概念 
7.2.4 二叉树的基本性质 
7.2.5 二叉树的顺序存储  
7.2.6 二叉树的链式存储  
7.2.7 二叉树的先序遍历  
7.2.8 二叉树的其他遍历方式  
7.2.9 树与二叉树的转换 
7.2.10 二叉树的基本运算及实现  
7.2.11 由遍历序列构造二叉树  
7.2.12 哈夫曼树 
第6周第3课 解决方案7.3.1 哈夫曼编码的案例分析
7.3.2 构造哈夫曼树算法分析 
7.3.3 哈夫曼编码算法分析 
7.3.4 哈夫曼译码算法分析
第4课 编程实现7.4 编程实现-哈夫曼编码和译码的设计与实现 
第7周

第8讲 图         

   -图的定义及存储

第1课 案例引入8.1 案例引入-公园导游系统与地图显示问题 
第2课 理论基础8.2.1 图的基本概念 
8.2.2 图的邻接矩阵存储  
8.2.3 图的邻接表存储  
第3课 解决方案8.3 基于邻接矩阵的公园地图存储 
第4课 编程实现8.4 编程实现-公园地图的设计与实现

第9讲 图        

   -图的遍历

第1课 案例引入9.1 案例引入-公园导游系统与游览线路问题
第2课 理论基础9.2.1 图的深度优先遍历  
9.2.2 图的广度优先遍历 
第3课 解决方案9.3 基于深度优先的公园地图遍历     
第4课 编程实现9.4 编程实现-公园导游系统游览线路的规划与实现    
第8周

第10讲 图   

     -最短路径         

   
第1课 案例引入10.1 案例引入-公园导游系统与景点间最短路径问题 
第2课 理论基础10.2.1 最短路径的概念 
10.2.2 最短路径-狄杰斯特拉算法 
10.2.3 最短路径-弗洛伊德算法  
第3课 解决方案10.3 基于狄杰斯特拉算法的公园两景点间的最短路径 
第4课 编程实现10.4 编程实现-公园两景点之间的最短路径的计算与实现  
第9周

第11讲 图       

-生成树和最小生成树          

  
第1课 案例引入11.1 案例引入-公园导游系统与管道修建问题 1
第2课 理论基础11.2.1 最小生成树概念 
11.2.2 最小生成树-Prim算法演示 
11.2.3 最小生成树-Prim算法分析 
11.2.4 最小生成树-Kruskal算法演示   
11.2.5 最小生成树-Kruskal算法分析   
第3课 解决方案11.3 基于普里姆算法的公园管道修建方案 
第4课 编程实现11.4 编程实现-公园管道修建方案的设计与实现  
第10周第12讲 图                -拓扑排序第1课 案例引入12.1 案例引入-教学计划的编制  
第2课 理论基础12.2 拓扑排序算法演示与分析  
第3课 解决方案12.3 基于拓扑排序的教学计划的编制  
第4课 编程实现12.4 编程实现-教学计划的编制与实现  
第11周第13讲 查找             -线性表查找第1课 案例引入13.1 案例引入-手机通讯录的检索系统
第2课 理论基础13.2.1 查找的基本概念
13.2.2 线性表查找-顺序查找
13.2.3 线性表查找-二分查找
13.2.4 线性表查找-索引分块查找
第3课 解决方案13.3 手机通讯录的线性表查找
第4课 编程实现13.4 编程实现-基于线性表的手机通讯录检索系统的设计与实现

第14讲 查找           

 -树表查找

第1课 案例引入14.1 案例引入-手机通讯录的检索系统

第2课 理论基础14.2.1 树表查找-二叉排序树的概念
14.2.2 树表查找-二叉排序树的插入操作
14.2.3 树表查找-二叉排序树的删除操作
14.2.4 树表查找-二叉排序树的查找操作
14.2.5 树表查找-平衡二叉树
第3课 解决方案14.3 手机通讯录的树表查找
第4课 编程实现14.4 编程实现-基于树表的手机通讯录检索系统的设计与实现

第15讲 查找     

    -哈希表查找

   
第1课 案例引入15.1 案例引入-手机通讯录的检索

第2课 理论基础15.2.1 哈希表查找-哈希表的基本概念
15.2.2 哈希表查找-哈希函数
15.2.3 哈希表查找-哈希冲突
第3课 解决方案15.3 手机通讯录的哈希表查找
第4课 编程实现15.4 编程实现-基于哈希表的手机通讯录检索系统的设计与实现
第12周

第16讲 排序    

     -插入排序与交换排序

第1课 案例引入16.1 案例引入-手机通讯录的排序问题 1
第2课 理论基础16.2.1 排序的概念
16.2.2 插入排序-直接插入排序
16.2.3 插入排序-希尔排序
16.2.3 交换排序-冒泡排序
16.2.4 交换排序-快速排序
第3课 解决方案16.3 手机通讯录的插入与交换排序操作
第4课 编程实现16.4 编程实现-手机通讯录的插入与交换排序设计与实现

第17讲 排序    

     -选择排序

第1课 案例引入17.1 案例引入-手机通讯录的排序问题
第2课 理论基础17.2.1 选择排序-直接选择排序
17.2.2 选择排序-堆排序
第3课 解决方案17.3 手机通讯录的选择排序操作
第4课 编程实现17.4 编程实现-手机通讯录的选择排序设计与实现

第18讲 排序   

      -其他排序方式

理论基础18.1 基数排序
18.2 归并排序


参考教材及拓展学习

学习者可以在课程后台的 资料->教材教参”  中下载感兴趣的书籍!





 

  



课程评价

教学资源
课程章节 | 文件类型   | 修改时间 | 大小 | 备注
1.1 数据结构概述    (2小节)
文档
.pdf
2018-11-08 162.29KB
1.1.1 数据结构的基本概念
视频
.mp4
2018-10-30 31.63MB
 
文档
.pptx
2018-11-08 1.78MB
 
作业
.work
2018-11-08 0.00KB
1.1.2 抽象数据类型
视频
.mp4
2018-11-08 23.21MB
 
文档
.pptx
2018-11-08 1.12MB
 
作业
.work
2018-11-08 0.00KB
1.2 算法概述(2小节)
文档
.pdf
2018-11-08 162.29KB
1.2.1 算法的定义及性能分析(上)
视频
.mp4
2018-11-08 22.28MB
 
作业
.work
2018-11-08 0.00KB
 
文档
.pptx
2018-11-08 469.70KB
1.2.2 算法的定义及性能分析(下)
视频
.mp4
2018-11-08 20.08MB
 
作业
.work
2018-11-08 0.00KB
 
文档
.pptx
2018-11-08 449.12KB
2.1 案例引入- 手机通讯录系统的设计与实现
视频
.mp4
2018-10-30 90.78MB
 
文档
.pptx
2018-10-30 254.22KB
2.2 理论基础 线性表及顺序存储
视频
.mp4
2018-11-08 229.27MB
 
文档
.pptx
2018-11-08 313.02KB
 
作业
.work
2018-11-08 0.00KB
2.3 解决方案(4小节)
文档
.pdf
2018-11-08 663.13KB
2.3.1 通讯录顺序表的定义及初始化
视频
.mp4
2018-11-08 130.75MB
 
文档
.ppt
2018-11-09 753.00KB
2.3.2 通讯录顺序表的插入操作
视频
.mp4
2018-11-08 371.78MB
 
作业
.work
2018-11-09 0.00KB
2.3.3 通讯录顺序表的删除操作
视频
.mp4
2018-11-08 257.07MB
 
作业
.work
2018-11-08 0.00KB
 
文档
.pptx
2018-11-08 239.40KB
2.3.4 通讯录顺序表的其他操作
作业
.work
2018-11-09 0.00KB
 
文档
.pptx
2018-11-09 259.91KB
2.4 编程实现-手机通讯录顺序结构及相关操作的设计与实现
视频
.mp4
2018-11-08 185.48MB
 
文档
.pdf
2018-11-08 72.46KB
3.3.2 尾插法建通讯录单链表
视频
.mp4
2018-10-30 145.21MB
4.3.1 简单表达式求值的过程分析
视频
.mp4
2018-10-31 207.39MB
9.1 开篇
视频
.mp4
2018-10-30 8.57MB
9.2 算法
视频
.mp4
2018-10-30 7.66MB
9.3 习题
视频
.mp4
2016-08-27 13.57MB
10.1 线性表的概念
视频
.mp4
2018-10-31 15.62MB
10.2 顺序表
视频
.mp4
2016-08-25 7.71MB
10.2.1 顺序表的概念
视频
.mp4
2016-09-03 24.08MB
10.2.2 顺序表的插入操作1
视频
.mp4
2016-09-03 10.18MB
10.2.3 顺序表的插入操作2
视频
.mp4
2016-09-03 28.33MB
10.2.4 顺序表的删除操作
视频
.mp4
2017-09-17 20.39MB
10.2.5 顺序表的其他操作
视频
.mp4
2018-09-11 22.76MB
10.3 单链表
视频
.mp4
2016-08-25 11.20MB
10.3.1 单链表的概念
视频
.mp4
2016-09-03 23.43MB
10.3.2 头插法建单链表
视频
.mp4
2016-08-25 23.92MB
10.3.3 尾插法建立单链表
视频
.mp4
2016-08-25 13.25MB
10.3.4 单链表的插入操作
视频
.mp4
2016-08-25 18.37MB
10.3.5 单链表的删除操作
视频
.mp4
2016-08-25 14.09MB
10.3.6 单链表的其他操作
视频
.mp4
2016-08-25 26.30MB
10.4 双向链表
视频
.mp4
2016-08-25 23.58MB
10.5 循环链表
视频
.mp4
2016-08-25 17.46MB
11.1 第3章 栈
视频
.mp4
2016-08-25 6.91MB
11.1.1 栈的基本概念
视频
.mp4
2016-08-25 22.72MB
11.1.2 顺序栈
视频
.mp4
2016-09-04 28.26MB
11.1.3 链栈的操作
视频
.mp4
2016-08-25 24.32MB
11.2 第3章 队列
视频
.mp4
2016-08-25 2.59MB
 
视频
.mp4
2016-08-25 5.49MB
11.2.1 队列的基本概念
视频
.mp4
2016-08-25 7.74MB
11.2.2 顺序队列
视频
.mp4
2016-08-25 18.00MB
11.2.3 循环队列
视频
.mp4
2016-09-03 15.39MB
11.2.4 链队列的基本概念
视频
.mp4
2016-08-25 9.78MB
11.2.5 链队列的入队操作
视频
.mp4
2016-08-25 16.11MB
11.2.6 链队列的出队操作
视频
.mp4
2016-08-25 11.36MB
11.3 习题
视频
.mp4
2016-08-27 59.13MB
 
视频
.mp4
2016-08-27 55.06MB
12.1 什么是递归
视频
.mp4
2017-09-17 6.47MB
12.2 递归模型及调用
视频
.mp4
2017-09-17 8.40MB
12.2.1 递归算法设计
视频
.mp4
2017-09-17 3.18MB
13.1 第5章 树的存储
视频
.mp4
2017-12-03 28.29MB
13.2 第5章 树的遍历
视频
.mp4
2017-12-03 15.69MB
13.3 第5章 二叉树的概念
视频
.mp4
2017-12-03 13.72MB
13.4 第5章 二叉树与树的转换
视频
.mp4
2017-12-03 20.89MB
13.5 第5章 二叉树的顺序存储
视频
.mp4
2017-12-03 14.99MB
13.6 第5章 二叉树的链式存储
视频
.mp4
2017-12-03 13.35MB
13.7 第5章 二叉树的先序遍历
视频
.mp4
2017-12-03 31.35MB
13.8 第5章 二叉树的其他遍历方式
视频
.mp4
2017-12-03 23.12MB
13.9 第5章 哈夫曼树
视频
.mp4
2017-12-03 15.84MB
14.1.1 图的基本概念1
视频
.mp4
2017-12-03 19.33MB
14.1.2 图的基本概念2
视频
.mp4
2017-12-03 15.86MB
14.2.1 图的存储-邻接矩阵
视频
.mp4
2017-12-03 21.29MB
14.2.2 图的存储-邻接表
视频
.mp4
2017-12-03 24.40MB
14.3.1 图的遍历-深度优先
视频
.mp4
2017-12-03 22.71MB
14.3.2 图的遍历-广度优先
视频
.mp4
2017-12-03 26.61MB
14.4.1 最小生成树的概念
视频
.mp4
2017-12-03 10.29MB
14.4.2 最小生成树-普里姆算法
视频
.mp4
2017-12-03 13.74MB
14.4.3 最小生成树-克鲁斯卡尔算法
视频
.mp4
2017-12-03 9.93MB
14.5.1 最短路径概念
视频
.mp4
2017-12-03 13.34MB
14.5.2 最短路径-弗洛伊德算法
视频
.mp4
2017-12-03 36.02MB
14.5.3 最短路径-狄杰斯特拉算法
视频
.mp4
2017-12-03 25.34MB
14.6 习题
视频
.mp4
2017-12-03 62.16MB
15.2 线性表查找
视频
.mp4
2017-12-03 7.53MB
15.2.2 二分查找
视频
.mp4
2017-12-03 6.91MB
15.2.3 索引分块查找
视频
.mp4
2017-12-03 5.48MB
15.3.1 二叉排序树的概念
视频
.mp4
2017-12-03 2.47MB
15.3.2 二叉排序树的查找操作
视频
.mp4
2017-12-03 5.88MB
15.3.3 二叉排序树的插入操作
视频
.mp4
2017-12-03 4.65MB
15.4.1 哈希函数
视频
.mp4
2017-12-03 8.19MB
15.4.2 哈希冲突
视频
.mp4
2017-12-03 6.29MB
16.1 排序的基本概念
视频
.mp4
2017-12-03 2.92MB
16.2 冒泡排序
视频
.mp4
2017-12-03 7.02MB
16.3 快速排序
视频
.mp4
2017-12-03 5.80MB
16.4 基数排序
视频
.mp4
2017-12-03 4.82MB
18.1 第1章 开篇
文档
.pptx
2018-05-12 1.74MB
18.2 第1章 算法
文档
.pptx
2018-05-12 558.50KB
18.3 第2章 线性表-单链表的插入操作
文档
.pptx
2018-05-12 173.02KB
18.4 第2章 线性表-单链表的定义
文档
.pptx
2018-05-12 215.33KB
18.5 第2章 线性表-单链表的其他操作
文档
.pptx
2018-05-12 164.72KB
18.6 第2章 线性表-基本概念
文档
.pptx
2018-05-12 596.30KB
18.7 第2章 线性表-双向链表
文档
.pptx
2018-05-12 259.14KB
18.8 第2章 线性表-顺序表的插入操作
文档
.pptx
2018-05-12 234.91KB
18.9 第2章 线性表-顺序表的定义
文档
.pptx
2018-05-12 312.46KB
18.10 第2章 线性表-顺序表的其他操作
文档
.pptx
2018-05-12 255.04KB
18.11 第2章 线性表-顺序表的删除操作
文档
.pptx
2018-05-12 161.66KB
18.12 第2章 线性表-头插法建单链表
文档
.pptx
2018-05-12 209.02KB
18.13 第2章 线性表-尾插法建单链表
文档
.pptx
2018-05-12 160.10KB
18.14 第2章 线性表-循环链表
文档
.pptx
2018-05-12 243.35KB
18.15 第3章 队列-基本概念
文档
.pptx
2018-05-12 422.84KB
18.16 第3章 队列-链队列出队操作
文档
.pptx
2018-05-12 170.66KB
18.17 第3章 队列-链队列的定义
文档
.pptx
2018-05-12 172.65KB
18.18 第3章 队列-链队列入队操作
文档
.pptx
2018-05-12 182.07KB
18.19 第3章 队列-顺序队列
文档
.pptx
2018-05-12 198.54KB
18.20 第3章 栈-链栈的操作
文档
.pptx
2018-05-12 566.48KB
18.21 第3章 栈-顺序栈的操作
文档
.pptx
2018-05-12 606.21KB
18.22 第3章 栈-栈的基本概念
文档
.pptx
2018-05-12 366.20KB
18.23 第7章 二叉树的基本概念
文档
.pptx
2018-05-12 424.25KB
18.24 第7章 二叉树的基本性质
文档
.pptx
2018-05-12 217.12KB
18.25 第7章 二叉树的链式存储
文档
.pptx
2018-05-12 184.87KB
18.26 第7章 二叉树的其他遍历方式
文档
.pptx
2018-05-12 184.72KB
18.27 第7章 二叉树的顺序存储
文档
.pptx
2018-05-12 424.96KB
18.28 第7章 二叉树的先序遍历
文档
.pptx
2018-05-12 190.49KB
18.29 第7章 二叉树与树的转换
文档
.pptx
2018-05-12 217.95KB
18.30 第7章 哈夫曼树
文档
.pptx
2018-05-12 231.76KB
18.31 第7章 树的遍历
文档
.pptx
2018-05-12 420.03KB
18.32 第7章 树的存储
文档
.ppt
2018-05-12 1.11MB
18.33 第8章 图的遍历-广度优先
文档
.pptx
2018-05-12 624.91KB
18.34 第8章 图的遍历-深度优先
文档
.pptx
2018-05-12 623.89KB
18.35 第8章 图的存储-邻接表
文档
.pptx
2018-05-12 471.08KB
18.36 第8章 图的存储-邻接矩阵
文档
.pptx
2018-05-12 477.20KB
18.37 第8章 图的基本概念1
文档
.pptx
2018-05-12 508.83KB
18.38 第8章 图的基本概念2
文档
.pptx
2018-05-12 404.56KB
18.39 第8章 图的应用-拓扑排序
文档
.pptx
2018-07-09 508.16KB
18.40 第8章 最短路径-狄杰斯特拉
文档
.pptx
2018-05-12 641.03KB
18.41 第8章 最短路径-弗洛伊德
文档
.pptx
2018-05-12 1009.55KB
18.42 第8章 最短路径概念
文档
.pptx
2018-05-12 774.09KB
18.43 第8章 最小生成树
文档
.pptx
2018-05-12 1.47MB
18.44 第8章 最小生成树-克鲁斯卡尔算法
文档
.pptx
2018-10-29 1.20MB
 
文档
.pptx
2018-10-29 687.24KB
章节名称
18
课件PPT  (45个,800余张)
提示框
提示框
确定要报名此课程吗?
确定取消