spContent=学习了数据结构,你会发现,原来编程可以如此轻松;原来算法可以如此设计;原来程序运行可以如此高效。想成为编程高手吗?那么来学习吧!
学习了数据结构,你会发现,原来编程可以如此轻松;原来算法可以如此设计;原来程序运行可以如此高效。想成为编程高手吗?那么来学习吧!
—— 课程团队
课程概述
数据结构课程是面向计算机科学与技术、软件工程、人工智能、信息安全、物联网工程专业的本科学生开设的专业核心必修课程。本课程的目标是研究各种数据的抽象表示、实现方法、算法的设计过程以及算法的分析,是计算机软件设计的重要理论和实践基础课程。该课程往往同高效的检索算法和索引技术有关,它不仅是学习计算机操作系统、数据库系统、算法设计与分析等课程的重要基础,同时为从事软件开发工作和科学研究奠定初步的基础。
本课程以清华大学严蔚敏教授编著的《数据结构(C语言版)》为教材,以章节划分知识点,每个章节知识点的列表可查看课程大纲。每章都有以考察知识点为目标的单元测试,以巩固、提高对基本知识的理解,并提供相应章节的PPT素材,供同学们深入学习。希望通过本课程,为学生学习后续课程打下扎实的基础。
授课目标
通过本课程的学习,使得参与学习的人员能够理解并掌握数据结构的基本概念,掌握表、树、图等数据结构的特点、存储表示和所涉及的运算;掌握各种查找和排序算法;掌握各种算法的设计与分析方法,在以后的科研或工作活动中,选用合适的数据结构,编写质量高、风格好的应用程序以解决复杂工程问题的能力,并为后续课程的学习打下良好的理论基础和实践基础。
成绩 要求
成绩构成:平时成绩占10%,实验成绩占20%,期末考试占70%。
课程大纲
绪论
课时目标:引入数据结构课程的学习,说明数据结构的相关概念,并概述算法的基本特性。
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 顺序队列的基本操作
第三章栈和队列单元测试
串
课时目标:串的存储结构和处理操作
4.1 串类型的定义
4.2 串的表示和实现
4.3 串的模式匹配算法
第四章串单元测试
数组与广义表
课时目标:数组与广义表
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语言基础即可。
需要在学习之前,复习并强化C语言中有关结构体、链表的基本知识。
参考资料
1. 严蔚敏,吴伟民编著,《数据结构(C语言版)》,清华大学出版设,2018.
2. 陈卫卫,王庆瑞主编,《数据结构与算法(第2版)》,高等教育出版社,2015.
3. 邓俊辉主编,《数据结构(C++语言版)第3版》,清华大学出版社,2013.
4.特吉•萨尼(美) 著,王立柱,刘志红 译,《数据结构、算法与应用:C++语言描述(第2版)》,机械工业出版社,2015.