只想把话说清楚

从2014.01.20下定决心开始系统学习数据结构与算法以来,已经过去了65天。已经不记得是第几次“下定决心”了,但以前都是看看书了事,不去做题也畏惧做题,到最后干脆连书也不看了,所以在此之前对数据结构与算法的了解仅限于几个模糊的概念。偶然发现了coursera这个网站,上面有一门北京大学张铭老师开设的数据结构与算法课程,然后它的作业题目需要登录dsalgo.openjudge.cn提交,觉得挺靠谱。我加入课程的时候,已经结课了,没法在coursera上获得证书–没证书就没证书吧,反正也不是什么正经玩意,干脆把dsalgo@openjudge上面的所有习题(作业题和选做题)都做一遍算了。

65天通过了50道题目,平均1.3天一道;提交了185次,平均每道题提交3.7次才能通过(事实上一大半题目提交一两次也就通过了,个别题目提交了二三十次才通过)。题目覆盖了从线性结构到图的课程内容,考虑到95%以上的内容对我而言是全新的,需要先学习理解再做题实践,这个速度也还可以接受。说实在的,张铭老师讲得实在是太!!烂!!了!!(当然张老师定有过人之处,否则也不能有今天的成就),课程视频又短的可怜,,平均一个话题9分钟,所以不要妄想通过看张老师的视频全部理解了(mit算法导论就很好,两位lecturer更是功力非凡,总之就是八个字:来龙去脉,深入浅出),好在目前学习的也不是什么高大上的东东,自行翻书+百度+谷歌总是能解决的。

说起百度+谷歌问题,又是一个挺有意思的事儿:一般看10篇网文能有一篇说到点子上就不错了,能让人大彻大悟的讲解更是可遇不可求。所以查资料/瞎琢磨占了6成时间,抠腚占了4成时间。openjudge上面的习题绝大部分来自pku onlinejudge,也就是传说中的poj,所以经常可以碰到一些竞赛内容(据说都是“水题”),尽管如此,独自理解并实践这些竞赛内容也不太容易:比较简单的内容比如trie,半天就能弄懂;稍微困难一些的比如kmp和最近的朱刘算法,往往要花去两三天。不过既然坚持着就是干!的原则,就多花一点时间弄清楚得了,弄清楚了也就没有当初看上去的那样高大上了,而且确实挺有意思的。比较功利的想法是这些内容都是基础,把基础打牢靠,将来会顺一点。

AC50远远不值一提,AC2000+的撼地神犇大有人在,但对我来说就是一个里程碑。不是别人怎么样我就要怎么样的,关键是我自己到底想怎么样。就算有一天我也AC2000+了,又能如何?顶多是稍微会做一点题目而已,世界大着呢,学术界领着头,工业界实践着,市场又支配着一切,这三个地方永远都不缺能人。

又扯远了,最后再写一句话,也是我的体会:计算机科学不是编程,但是实践计算机科学却必须编程,所以如果只是单纯想学编程,还不如不学呢。

就是对虚怀若谷谦虚谨慎八个字真正理解的人,

只想把话说清楚

相关文章:

你感兴趣的文章:

标签云: