数据结构与算法
数据结构与算法
20万+ 人选课
更新日期:2025/05/24
开课时间2025/02/20 - 2025/06/15
课程周期17 周
开课状态开课中
每周学时-
课程简介

《数据结构与算法》课程是计算机科学与技术的学科基础课程,不仅是《计算机图形学》、《计算机网络》、《编译原理》、《计算机操作系统》等后续课程的基础理论之一,其应用范围也早已扩展到图像处理与模式识别、海量数据挖掘、科学数据处理、复杂网络分析等许多计算机前沿领域。


本课程研究计算机处理数据的结构特性,学习线性表、树、图等常用数据结构的逻辑结构与存储结构;学习分治递归、动态规划、贪心算法等典型算法,掌握分析与推导算法效率的方法。


通过对本课程的学习,能够解决非数值计算与工程应用问题,达到选择或设计恰当的逻辑结构、存储结构及相应的算法的水平,为学生进一步理论学习和解决实际工程应用问题打下坚实的基础。通过理论知识的系统学习与工程实验的操作,初步培养学生的计算思维能力、算法设计与分析能力、程序设计与编程实现能力、计算机系统的认知、分析、设计和运用能力、工程实践能力。


课程由3位经验丰富的老师讲解,学生反馈通俗易懂,获得感强,没有专业基础的小白也能够听懂,考试形式好,教师回答学生问题积极,讨论区活跃能够学到很多东西,能够对问题得到及时有用的解答。课程每一期都根据教学经验和学生反馈进行改进,目前已经很完善。

课程大纲

第一章 绪论

1-教学安排

2-数据结构基本概念,术语与主要学习内容

3-算法

绪论测验

第二章2.1 线性表 (本章内容比较多,需要2周的学习时间)

1-线性表的基本概念

2-基于线性表操作的简单应用

3-线性表的存储结构及基本操作实现

4-线性表的应用

5-栈

6-队列

临时补充内容:7-线性表的基本操作编程视频(请尽量自己实现)

线性表测验

线性表编程题

第二章 2.2 查找

1-查找基本概念

2-顺序查找

3-折半查找

4-索引查找

5-哈希查找

查找问题讨论

查找测验

查找编程题

第二章 2.3 排序

1-排序的基本概念

2-插入排序

3-选择排序

4-交换排序

5-基数排序

6-外部排序

排序编程题

排序测验

第三章 递归与分治

1-递归

2-分治

3-复杂度计算

4-应用

递归与分治测验

递归与分治编程题

第四章 树与二叉树 (本章内容需要2周学习时间)

1-引子

2-二叉树的定义与复原

3-二叉树的变形

4-树与二叉树的相互转换

临时补充:AVL树

补充:高级查找

树与二叉树

数与二叉树编程题

第五章 图论与贪心算法(本章内容需要2周学习时间)

1-图论的基本概念

2-贪心算法理论

3-图论与贪心算法的应用

贪心算法与图论编程题

贪心算法与图论测验

第六章 动态规划

1-引言

2-动态规划理论

3-动态规划例子-矩阵连乘

4-动态规划要素

5-备忘录法

6-项目实战

7-总结

动态规划测验

动态规划编程题

第二部分 数据结构全面复习

1-线性表

2-树

3-图

4-查找与排序