spContent=数据结构是编程最重要的基本功!学了顺序表和链表,你就知道,在查询操作更多的程序中,你应该用顺序表;而修改操作更多的程序中,你要使用链表;而单向链表不方便怎么办,每次都从头到尾好麻烦啊,怎么办?你这时就会想到双向链表or循环链表。请小伙伴们加入到数据结构的深入学习中来吧!
数据结构是编程最重要的基本功!学了顺序表和链表,你就知道,在查询操作更多的程序中,你应该用顺序表;而修改操作更多的程序中,你要使用链表;而单向链表不方便怎么办,每次都从头到尾好麻烦啊,怎么办?你这时就会想到双向链表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 基数排序法
第十章内部排序单元测试
展开全部
预备知识
参考资料
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.