cs-self-learning/docs/数据结构与算法/Algo.md

37 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Coursera: Algorithms I & II
## 课程简介
- 所属大学Princeton
- 先修要求CS61A
- 编程语言Java
- 课程难度:🌟🌟🌟
- 预计学时60 小时
这是 [Coursera](https://www.coursera.org) 上评分最高的算法课程。Robert Sedgewick 教授有一种魔力,可以将无论多么复杂的算法讲得极为生动浅显。实不相瞒,困扰我多年的 KMP 以及网络流算法都是在这门课上让我茅塞顿开的,时隔两年我甚至还能写出这两个算法的推导与证明。
你是否觉得算法学了就忘呢?我觉得让你完全掌握一个算法的核心在于理解三点:
- 为什么这么做?(正确性推导,抑或是整个算法的核心本质)
- 如何实现它?(光学不用假把式)
- 用它解决实际问题(学以致用才是真本事)
这门课的构成就非常好地契合了上述三个步骤。观看课程视频并且阅读教授的[开源课本](https://algs4.cs.princeton.edu/home/)有助于你理解算法的本质,让你也可以用非常
生动浅显的话语向别人讲述为什么这个算法得长这个样子。
在理解算法之后,你可以阅读教授对于课程中讲授的所有数据结构与算法的[代码实现](https://algs4.cs.princeton.edu/code/)。
注意,这些实现可不是 demo 性质的,而是工业级的高效实现,从注释到变量命名都非常严谨,模块化也做得相当好,是质量很高的代码。我从这些代码中收获良多。
最后就是这门课最激动人心的部分了10 个高质量的 Project并且全都有实际问题的背景描述丰富的测试样例自动的评分系统代码风格也是评分的一环。让你在实际生活中
领略算法的魅力。
## 课程资源
- 课程网站:[Algorithm I](https://www.coursera.org/learn/algorithms-part1), [Algorithm II](https://www.coursera.org/learn/algorithms-part2)
- 课程视频:详见课程网站
- 课程教材:<https://algs4.cs.princeton.edu/home/>
- 课程作业10个Project具体要求详见课程网站
## 资源汇总
@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 [PKUFlyingPig/Princeton-Algorithm - GitHub](https://github.com/PKUFlyingPig/Princeton-Algorithm) 中。