近两天看过大量资料,发现学习的态度有些功利。重点不应该放在java的某些功能方面,而应该注重计算机学科的基础——算法与数据结构,但是java的应用也应该同步学会,只会理论不会工具是什么都做不了的。
------------------------------------------------------------------------------------
对于算法的学习,主要参考两篇博文的内容:
https://www.zhihu.com/question/21318658
和
http://zh.lucida.me/blog/on-learning-algorithms/
由于基础为0,所以从第一篇开始:
作者:孟祥丰
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. "我想学好基础的数据结构和算法! "
不多说,有这心就往下看。
2. "我应该准备些什么? "
a. 这本橙书: 《算法 第四版》
--亚马逊中文版: amazon.cn 的页面
--线上资源: Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne
b. 注册Coursera, 依次加入这2门课: <算法, 第一部分> <算法, 第二部分>
Part 1: https://www.coursera.org/course/algs4partI
Part 2: https://class.coursera.org/algs4partII-006
如果没开课, 就先标记, 这样开课时会通过邮箱提示你.
3. "我应该做些什么? "
先熟读书内1.1和1.2, 最好把课后习题都做一做. 网站上开课后(即使已经开课几周了, 没关系), 跟住上课内容: 课本知识 + 视频内容 + 课件重点+ Exercises (独立完成且满分) + Programming Assignments (独立完成且尽量满分) + Job Interview Questions. 从Part 1到Part 2, 跟住, 跟住, 跟住!
关于做书后练习题,参见:
算法 第四版(algorithms 4th edition ) 这本书有配套的习题答案吗? - 孟祥丰的回答
4. "我学完了呢!"
再去跟隔壁斯坦福的算法公开课, 他还给证书! 因为参考书籍基本上就是是《CLRS》, 所以也就是强迫自己去仔细研读算法导论.
---课程名称:
<算法设计与分析, 第一部分>
<算法设计与分析, 第二部分>
---课程地址
Part 1: https://www.coursera.org/course/algo
Part 2: https://www.coursera.org/course/algo2
5. "又学完啦! "
可能今后在这个方面不需要看网络上不知名人士(没错, 就是我)的建议了. 拜拜.
PS: 就这些?? 对, 就这些.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Java的学习以 可以跟着网易公开课的教学学习,学时整体需要150个小时,但个人主要注重基础部分。
http://study.163.com/forum/index.htm?cid=343001&p=440
-----------------------------------------------------------------------------------------------------------------------------------------------------------
coursera的免费使用方法:
https://www.zhihu.com/question/36040072
切记勿贪多。