算法设计与分析
分享
课程详情
课程评价
spContent=计算机科学本质上是算法的艺术——它既是攻克复杂问题的利刃,也是构建人工智能与计算思维的坚实基石。 本课程将带你跳出枯燥的理论公式,深度剥离分治、动态规划、贪心算法等核心范式的思维本源,不仅助你扫清“面对难题无从下手”的知识盲点,更让你学会精准拿捏复杂度的平衡艺术。学成之后,你将拥有一双洞察最优解的“火眼金睛”,无论是在大厂面试中手撕高难代码,还是在实战中调优千万级数据性能,都能游刃有余,实现从“机械搬砖”到“卓越设计”的灵魂跨越。
—— 课程团队
课程概述

《算法设计与分析》MOOC课程面向计算机、人工智能等相关专业学生,以及对算法有系统性学习需求的广大学习者。课程以“应用算法解决实际问题,培养算法思维”为核心目标,致力于帮助学习者建立完整的算法知识框架与实际问题求解能力。


本课程以主讲教师编写的教材《算法设计与应用》为核心教学资源,该教材已于2024年9月由机械工业出版社正式出版。课程内容与教材章节紧密对应,形成“教材—课程—应用”三位一体的系统化学习路径,帮助学习者逐步深入掌握算法设计方法,避免知识碎片化,构建连贯的知识体系。


课程讲解采用由浅入深、从直观到形式化的教学策略:首先从问题建模与直观思路入手,逐步引入形式化的算法描述、正确性证明与复杂度分析。课程全面覆盖算法设计中的核心范式,包括:

  • 算法复杂度分析:理解与评估算法效率的基础;
  • 关键数据结构:深入讲解堆与不相交集等实用且重要的数据结构;
  • 递归技术:算法设计的基本工具,也是分析递归复杂度的关键;
  • 分治算法:高效算法设计的经典范式,快速傅里叶变换等重大算法均基于此思想;
  • 动态规划:解决最优化问题的核心方法,是算法竞赛与技术面试中的重要考点;
  • 贪心算法:简单高效,广泛应用于实际场景中的近似求解;
  • 图算法:随着图神经网络、社交网络分析等技术的发展,其重要性日益凸显;
  • 回溯算法:系统化的搜索方法,常用于解空间较大的组合问题;
  • 分支限界法:在搜索中融合剪枝与评估,与人工智能中的启发式搜索思维紧密相关;
  • 匹配算法:在资源调度、目标跟踪、自动驾驶等领域具有广泛应用。


在知识讲解中,课程不仅阐明“如何实现”,更注重引导“为什么这样设计”“适用于何种问题”以及“如何进一步优化”,并通过典型例题与思维训练,帮助学习者真正理解算法背后的原理与思想,助力其在算法竞赛与技术面试中从容应对。


本课程已积累良好的学习反响。与之配套的课堂实录视频已在B站发布,播放量近50万,以其真实的授课节奏与思维推导过程,帮助学习者深入体会“从直觉到严谨”的算法构建路径。MOOC课程则在此基础上,提供更系统化的知识结构、明确的学习路径与便捷的在线支持。二者相辅相成:学习者可通过MOOC高效构建知识体系,也可借助课堂实录进行复习巩固与拓展思考,从而实现对算法的深度掌握与灵活应用。


总而言之,《算法设计与分析》MOOC课程以权威教材为依托,以经典算法范式为主线,以逻辑清晰、层层递进的讲授为特色,并结合实际应用拓展学习者视野。课程旨在引导学生不仅“掌握算法”,更“养成算法思维”,实现从解题技能到系统分析与设计能力的全面提升。


授课目标

计算机科学被称为算法科学,本课程是计算机相关专业的核心必修课程。课程旨在培养学生掌握算法设计与分析的基本理论与方法,具备针对实际问题设计高效算法并进行时间与空间复杂度分析的能力,提升计算思维和解决复杂工程问题的综合素养,为后续专业课程学习及科研创新打下坚实基础。

课程大纲
预备知识

程序设计、数据结构

证书要求

为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

 

电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。

 

完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。

 

认证证书申请注意事项:

1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。

2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。


参考资料

教材:《算法设计与应用》,林海等编著,机械工业出版社出版

参考:《算法导论》, 原著:Thomas H. Cormen等,机械工业出版社出版

常见问题
  • “算法课”和“数据结构”课有什么区别?

数据结构课通常也讲搜索、排序等算法,但都是一些基础的算法。算法课讲授分治、动态规划等重要的算法,并会对这些算法进行深入的分析。


  • 这门课是不是就是学“解题套路”或“刷题”的?

培养算法的设计与分析能力,这是刷好题的关键


  • 学算法对找工作有用吗?

有用,大厂面试必考算法


  • 这门课要写代码吗?

上课不具体讲授代码的编写,但会写代码是基础,需要同学们课后自己通过代码的编写对算法进行深入的理解