本课程是计算机类专业的主干基础课程,也可供其他专业学生选修。
本课程用C、C++、Java、Python四种语言授课,修过其中一门即可修读本课程。对于关键的数据结构与算法知识点,讲授多种语言的实现方式,对其他部分知识点,给出4种语言的实现代码供学生自学。在讲授过程中,引导学生理解不同语言的差异并领悟不同语言的共性,将“计算思维”融进课程,最终可让学生理解“程序设计语言只是一样工具”,编写程序时不受限于特定语言。
本课程抓住学生“动手编程困难”的痛点,在讲授数据结构与算法理论知识的基础上,重点强调实践,带领学生一行一行编写代码,将“产生思路——编写程序——运行调试”的全过程展示给学生,将算法思想和程序设计规范融入到讲授过程中,让学生有沉浸式体验。在讲授过程中,将带领学生共同寻找思路解决问题,将与学生一起遇到并修改常见错误。本课程强调过程化考核,针对程序设计的特点,设置了在线评测的习题集和测验题集,给学生提供了充足的动手实践编程的机会。在完成本课程学习后,学生将由“纸上谈兵”型转变为“实战”型,为成为合格的软件工程师和算法工程师打好坚实基础。
1-预备知识 [01:50:21 18段]
1-1-课程简介与基本概念 [1段 共00:04:01]
1-2-用什么语言 [7段 共00:40:37]
1-3-模板与泛型 [4段 共00:27:07]
1-4-函数与递归 [6段 共00:38:36]
资料与测验
2-数组与字符串 [02:49:24 30段]
2-1-数组 [9段 共01:12:33]
2-2-二维数组 [8段 共01:02:13]
2-3-字符串 [13段 共00:34:38]
资料与测验
3-线性结构 [05:20:03 47段]
3-1 顺序表 [8段 共00:56:34]
3-2 链表 [11段 共01:35:57]
3-3 栈 [12段 共01:04:45]
3-4 队列 [16段 共01:42:47]
资料与测验
4-树 [06:06:32 35段]
4-1 二叉树及遍历[19段 共02:56:20]
4-2 二叉搜索树[9段 共01:47:14]
4-3 平衡二叉树[7段 共01:22:58]
资料与测验
5-优先队列与集合 [04:32:40 34段]
5-3 不相交集(Disjoint Set)[11段 共01:56:23]
资料与测验
5-1 优先队列 [18段 共02:17:58]
5-2 集合 [5段 共00:18:19]
6-查找与散列 [01:54:29 11段]
6-1 常用查找方法 [1段 共00:15:05]
6-2 散列 [10段 共01:39:24]
资料与测验
7-排序 [05:37:14 30段]
7-1 基本指标 [1段 00:04:58]
7-2 简单排序 [5段 共00:57:09]
7-3 希尔排序 [1段 00:06:15]
7-4 堆排序 [2段 共00:31:10]
7-5 分治法 [10段 共01:38:24]
7-6 排序算法的一般下界[1段 00:04:43]
7-7 桶排序与基数排序 [2段 共00:22:50]
7-8 外部排序 [1段 00:06:52]
7-9 各语言实现排序 [7段 共01:44:53]
资料与测验
8-图 [07:59:45 41段]
8-1 图的概念 [1段 00:14:33]
8-2 图的表示 [15段 02:52:47]
8-3 图的遍历(搜索) [8段 01:42:35]
8-4 拓扑排序 [4段 00:34:59]
8-5 最短路径 [8段 01:41:22]
8-6 最小生成树 [5段 00:53:29]
资料与测验
9-算法设计 [02:38:25 13段]
9-1 贪心法 [3段 00:39:03]
9-2 回溯法 [3段 00:48:31]
9-3 分治法 [2段 00:18:39]
9-4 动态规划法 [5段 00:52:12]
资料与测验

