学习算法与数据结构，有什么比较好的 MOOC或者比较好的书籍推荐？
清华邓老师的 《数据结构算法》, C++, 非常经典， 质量非常高， 最大的特色是讨论问题系统完整，难度有， 最大的价值是那套完整的数据结构code，唯一的缺点是题太少，可能是邓老师不主张刷题吧。 要刷题的话，浙大《数据结构算法》， 课程内容也不错（但显然是不如邓老师的课），好处是题多， 有一整个oj给你各种难度慢慢刷，可以好好刷题。刷累了可以再去考一个姥姥的PAT。哈哈哈哈。给 @陈越姥姥 义务打广告。 edx上普林斯顿的《算法》， 也就是算法那本书的作者按照《算法》书的顺序给你讲一遍，java, 讨论问题很深入，PPT非常好。可以零散的听作为邓老师的课的补充。当然， 如果你必须要java based的， 那也可以系统跟这门。  最后是stanford的《算法分析与设计》， 是《数据结构及算法》的进阶课。 目前没有可以替代且质量高的中文课程。  这四门这些年断断续续基本都刷完了， 有些内容甚至刷了很多遍。 如果你想要系统的学一遍的话， 建议1先系统啃一遍。  至于MIT的算法和高级数据结构这两门课。 《算法》属于录制课程， 配套不是很完善，视频也不清晰， 难度是有，总之学习体验真的很不友好，在完全木有mooc的当时， mit的全面开放录制课程确实值得d大大的点赞， 但现在来看， 这批视频的质量还有配套设施都有点落后了 ， 我个人不是很推荐。 高级数据结构那些数据结构真的是太fancy了， 我真的觉得没什么用。  书这块的话。不要刷《算导》，不要刷《算导》，不要刷《算导》。我这辈子就没见过谁，真的刷完了算导。这就是本工具书，查一查了不得了。翻译也不是非常好。  看〈算法〉不如去看作者讲的课。〈算法设计与分析〉是好书，可看。但我觉得Stanford的课更好。  倒是推荐两本，一本是我软的〈编程之美〉，一本是〈编程珠玑〉，两本都不是那么典型的数据结构教程，而是真的应用算法解决实际问题的书。其中，珠玑是解决真的工程问题。而编程之美则是五花八门什么样的问题都有。  最后的最后，万事开头难，如果是选择一件事去做的话，我选邓老师的数据结构与算法课。  又： 搞完了数据结构和基础算法， 下一步就可以开撸机器学习/深度学习相关算法了， 关于如何利用mooc学习机器学习， 可以参考这篇： 