数据结构
分享
课程详情
课程评价
spContent=数据结构是编程最重要的基本功!学了顺序表和链表,你就知道,在查询操作更多的程序中,你应该用顺序表;而修改操作更多的程序中,你要使用链表;而单向链表不方便怎么办,每次都从头到尾好麻烦啊,怎么办?你这时就会想到双向链表or循环链表。请小伙伴们加入到数据结构的深入学习中来吧!
—— 课程团队
课程概述

       数据结构课程是面向计算机科学与技术、信息安全、物联网工程专业的本科学生开设的专业核心必修课程。通过本课程的学习,使学生熟练地掌握在程序设计应用中,特别是在软件系统的非数值计算类应用方面,常用数据模型以及实现方法;熟练建模的基本方法以及在计算机科学与工程中的基本应用;在高级语言程序设计课程的学习基础之上,进一步提高程序设计的综合能力;在理论和方法上,奠定后续专业课程学习的基础。  

      总之,学好数据结构就对了。数据结构就相当于:要拧螺母,肯定用扳手这个“数据结构”,当然用钳子也行,只不过也没那么好用。学习数据结构,就是为了了解以后在IT行业里搬砖需要用到什么工具,这些工具有什么利弊,应用于什么场景。以后用的过程中,你会发现这些基础的“工具”也存在着一些缺陷,你不满足于此工具,此时,你就开始自己在这些数据结构的基础上加以改造,这就叫做自定义数据结构。而且,你以后还会造出很多其他应用于实际场景的数据结构。

   本课程以清华大学严蔚敏教授编著的《数据结构(C语言版)》为教材,以章节划分知识点,每个知识点录制10分钟左右的视频,共有55个视频,每个章节知识点的列表可查看课程大纲。每章都有以考察知识点为目标的单元测试,以巩固、提高对基本知识的理解,并提供相应章节的PPT素材,供同学们深入学习。希望通过本课程,为学生学习后续课程打下扎实的基础。


课程大纲

第一章 绪论

引入数据结构课程的学习,说明数据结构的相关概念,并概述算法的基本特性。

1.1 绪论

1.2 什么是数据结构

1.3 相关基本概念和术语

1.4 算法的基本特征

1.5 算法分析相关概念

第一章绪论单元测试

第二章 线性表

数据结构中最基础的顺序表和链表的基本特性和算法

2.1 线性表的概念以及抽象数据类型

2.2 线性表的顺序表示

2.3 顺序表的插入删除算法移动元素次数分析

2.4 顺序存储结构的优缺点引出单链表的结构类型定义

2.5 单链表的算法:生成先进先出单链表、后进先出单链表

2.6 单链表的算法

2.7 单链表的算法

2.8 单链表的合并

2.9 循环链表和双向循环链表的概念

第二章线性表单元测试

第三章 栈和队列

栈和队列的数据结构和基本特性

3.1 栈的相关概念与特性

3.2 顺序栈的基本操作

3.3 链式栈的基本操作

3.4 栈的应用

3.5 队列的相关概念

3.6 链式队列的基本操作

3.7 顺序队列的基本操作

第三章栈和队列单元测试

第五章 数组与广义表

数组和广义表的数据结构和基本特征

5.1 数组的定义

5.2 数组的顺序表示和实现

5.3 特殊矩阵的压缩存储

5.4 稀疏矩阵的压缩存储

5.5 稀疏矩阵的运算(转置算法)

5.6 广义表的概念

5.7 广义表的存储结构

第五章数组与广义表单元测试

第六章 树与二叉树

树与二叉树两种典型层次结构的概念,特征,基本运算与实现,典型算法及简单应用。

6.1 树的定义

6.2 二叉树的定义与性质

6.3 二叉树的存储结构

6.4 二叉树的遍历

6.5 二叉树的遍历应用

6.6 线索二叉树

6.7 树的存储结构

6.8 树与二叉树的转换

6.9 哈夫曼树及其应用

第六章树单元测试

第七章 图

图的基本特征、基本运算与实际应用

7.1 图的定义及术语

7.2 图的存储结构

7.3 图的储存结构 (2)与图的遍历

7.4 图的连通性问题

7.5 有向无环图及应用

7.6 最短路径

第七章图单元测试

第九章 查找

第九章查找单元测试

经典的查找算法主要策略和效率分析

9.1 查找问题概述

9.2 顺序表的查找

9.3 折半查找法

9.4 分块查找法

9.5 二叉排序树查找法

9.6 平衡二叉排序树查找法

9.7 哈希查找法

第十章 内部排序

经典的排序算法主要策略和性能分析

10.1 查找问题概述、插入排序法

10.2 交换排序法

10.3 选择排序法

10.4 归并排序法

10.5 基数排序法

第十章内部排序单元测试

预备知识

离散数学, C语言程序设计

证书要求

成绩构成:单元测验占70%,期末考试占30%。

总成绩大于等于60分且小于85分,可获得本课程的合格证书;

总成绩大于等于85分,可获得本课程的优秀证书。


参考资料

1.       严蔚敏,吴伟民. 数据结构(C语言版) .北京:清华大学出版社,2006.

2.       严蔚敏,吴伟民,米宁. 数据结构题集(C语言版).北京:清华大学出版社,2007.

3.       Krishnamoorthy R,Kumaravel G.I. Data Strcture Using C(Photocopy Edition), Tsinghua University Press,2009.

4.       (印)慕克吉 著,张长富 等译. 数据结构(C语言版)1000个问题与解答,北京:清华大学出版社,2010.

5.       Larry Nyhoff. ADTs, Data Structures, and Problem Solving with C++.  Second Edition, Calvin College,2005.