Coursera: Algorithms I & II
课程简介
- 所属大学:Princeton
- 先修要求:CS61A
- 编程语言:Java
- 课程难度:🌟🌟🌟
- 预计学时:60 小时
这是 Coursera 上的算法课程,由 Robert Sedgewick 教授讲授。
理解一个算法时,可以重点关注以下三点:
- 为什么这么做?(正确性推导,抑或是整个算法的核心本质)
- 如何实现它?(光学不用假把式)
- 用它解决实际问题(学以致用才是真本事)
这门课的构成就非常好地契合了上述三个步骤。观看课程视频并且阅读教授的开源课本有助于你理解算法的本质,让你也可以用非常 生动浅显的话语向别人讲述为什么这个算法得长这个样子。
在理解算法之后,你可以阅读教授对于课程中讲授的所有数据结构与算法的代码实现。 这些实现关注效率、注释、变量命名与模块化,可作为算法实现的参考。
最后,就是这门课最激动人心的部分了,10 个高质量的 Project,并且全都有实际问题的背景描述,丰富的测试样例,自动的评分系统(代码风格也是评分的一环)。让你在实际生活中 领略算法的魅力。
课程资源
- 课程网站:Algorithm I, Algorithm II
- 课程视频:详见课程网站
- 课程教材:https://algs4.cs.princeton.edu/home/
- 课程作业:10个Project,具体要求详见课程网站
资源汇总
补充资源与作业实现:PKUFlyingPig/Princeton-Algorithm - GitHub。