“算法设计与分析”课程是计算机科学与技术相关专业的专业基础课。算法在计算机科学中具有核心的地位和作用。本课程是关于算法的方法论,是计算机软件设计的基础。主要讲授算法设计技术与分析技术。通过学习该课程,可以系统掌握算法设计、分析与证明的常用方法,培养算法设计与复杂性分析以及相应的解决问题的综合素质和能力。因此,该课程对于培养高质量计算机人才所必需的基本理论与知识、抽象思维能力、逻辑思维能力以及灵活运用算法解决问题的能力都有极大的帮助。对于未来从事计算机系统结构、系统软件以及应用软件研究与开发的专业人员是非常重要和必不可少的。
本课程自开设以来,通过不断摸索,逐渐形成了自己的特色,主要包括:
1)以培养学生“科学思维、方法学习、实验实践”为出发点,对每种算法设计方法,从理论入手,以应用为导向进行讲解,提高学生学习和应用知识的能力;
2)以“科研驱动、教研融合、任务导向”为宗旨,聚焦学科发展前沿,构建了丰富的、系统化的课程资源库,为学生建立更为完整的算法知识体系,提高实践能力和创新能力。
3)依据算法课程特点,充分利用Online Judge的便利性,增加算法实现题,并自动判定结果,从而巩固与加深对知识点的理解。
4)满足了学生微型化、碎片化及个性化学习需求;突破时空限制,实现随时随地学习,激发学生的学习热情。
第一章 算法设计基础
1.1 算法及其特点
1.2 算法描述方法及一般设计过程
算法资源库之一
算法设计基础的思政案例
阅读材料
“算法设计基础”单元测验
“算法设计基础”算法实现题
第二章 算法分析基础
2.1算法分析的一般方法
2.2递归方程及其求解方法
算法资源库之二
算法分析基础的思政案例
阅读材料
“算法分析基础”测试题
第三章 分治法
3.1分治法概述
3.2组合问题中的分治法
3.3几何问题中的分治法
算法资源库之三
分治法的思政微课
阅读材料
“分治法”单元测试
“分治法”算法实现题
第四章 动态规划法
4.1 动态规划法概述(上)
4.1 动态规划法概述(中)
4.1 动态规划法概述(下)
4.2 图问题中的动态规划法
4.3 组合问题中的动态规划法(上)
4.3 组合问题中的动态规划法(下)
算法资源库之四
动态规划的思政微课与案例
阅读材料
“动态规划法”算法实现题
第五章 回溯法
5.1 回溯法概述
5.2回溯法的基本思想 -(上)
5.2回溯法的基本思想 -(下)
5.3 回溯法的应用
算法资源库之五
回溯法的思政案例
阅读材料
“回溯法”算法实现题
第六章 分枝限界法
6.1分枝限界法概述 - (上)
6.1分枝限界法概述 - (下)
6.2 分枝限界法的应用 - (上)
6.2 分枝限界法的应用 - (下)
算法资源库之六
分枝限界的思政案例
阅读材料
“分枝限界法”算法实现题
第七章 贪心法
7.1 贪心法概述(上)
7.1 贪心法概述(下)
7.2图问题中的贪心法
7.3 组合问题中的贪心法(上)
7.3 组合问题中的贪心法(下)
算法资源库之七
贪心法的思政案例
阅读材料
“贪心法”算法实现题