震撼:在清华听朱仲涛老师的数据结构课(转)

xiaobubbk 2020-10-31 3925

2005年准备研究生考试的时候,我旁听了朱仲涛老师的 数据结构 课,当时的感觉只能用两个字来形容:震撼。在他的课上,我对数据结构有了全新的认识,对计算机也有了一点与以往不同的了解。

他的讲课风格非常独特,他只用1/5的时间简述一下要讲的内容,剩下的时间都是当场写程序。著名的约瑟夫环、Dijkstra算法、Prime算法、快速排序、堆排序、锦标赛排序、Tarjin强连通分量、ConvexHull等深的浅的,教材上有的没有的,全部在课堂上从0开始实现:每遇到一个算法,一边写程序,一边讲解,不懂就将程序的运行结构拿出来分析,并不时地穿插离散数学、概率论、内存管理、C语言、汇编语言等知识,几乎将我们学到的东西非常恰到好处地拿出来,让我们从心里面觉得原来所有的知识是连贯的,我们之前的积累都是有用的,并且富有成就感。

我清晰地记得他在工业工程系课堂上讲 栈 的时候,用计算几何中的ConvexHull(计算几何中求凸包的算法,由美国ACM大牛Graham发明,该算法通过nlogn复杂度求出平面中一堆点的最外层包围矩形边界)来显示栈的使用。这个算法在A4纸上写说明最少也要两页,加上里面具体的技术,个人觉得可以给3个小时的时间来考查一个训练有素的程序员是否合格。而朱老师在1.5小时的时间里,一边讲,一边写,用最优雅的方式,完整地实现了这个算法,写完程序,一个编译错误也没有,成功运行,随机的点,优雅的边界,当时全班鼓掌两分钟。他说: 我很自信,即使是最顶级的程序员,也不能将我的代码优化多少了。

他的课让我明白: 数据结构 ,以及一切计算的课程里面,凡是自己不理解的东西,自己说不清道不明的东西,其实有很多人是理解的。我的老师没有给我必要的关键性指导,但,不可否认有一些同学,他们总是先知先觉,他们总是会问 为什么这门课程要这么上 ,他们总是会思考自己是不是走在正确的路上,于是他们大量丰富自己的实践,从而也优雅地完成了本科学业。但遗憾的是,我和大部分我的同学们,就这样,因为缺乏必要的指导,迷迷糊糊、庸庸碌碌地过完了本科。

现在回想过去,才发现自己当时多么无知、多么机械。其实,不懂的时候,不管任何时候,你都可以去问老师、同学,从而节省大量的时间和精力。我们必须在年轻的时候有意地培养自己独立思考的能力,经常想一想,我要的是什么、为什么要做这件事、做这件事有什么好方法、这样做有什么好处和坏处、如何改进等,也要与人交流、沟通,讲出自己的想法,请别人指正。我们需要培养的是自己的思考方式,而不是简单地获取知识。

计算机专业需要大量时间,需要付出大量精力,也需要极大的耐心。但大部分像我一样的80后都做不到。而做到的,现在几乎没有例外地都找到了很好的工作。

公司不重视技术 与我的兴趣冲突

本科毕业后我就参加了工作,一干就是三年。

我工作的地方是个典型的国有企业转制后的股份制公司,计算机公司,以系统集成和网络为主,软件是副业。我的项目经理和部门经理对我很好,现在我依然感谢他们。只是,我实在无法接受这样的工作状况:待遇一般,沟通匮乏,无视积累,没有传承,频繁的软件部门高层更换预示着软件的步履维艰。也许,我们把软件业务全部外包会更好,但是那么多为公司辛勤工作的员工将何去何从呢?

工作阶段,我的角色还真不少,有点需求分析,有点系统设计,大量的软件开发,大量的系统实施,一点点知识探索,一点点售前支持。既是典型的多面手,又是行行肤浅的门外汉。很少有人能从技术上指导我,不是因为我很牛,只是因为我们实在不是个以技术见长的公司,而我自己,却十分喜欢技术,喜欢和计算机打交道,喜欢盯着计算机的输出而后体会其无穷的美感。这是我喜欢做的事,但工作却不允许我这么做。

最新回复 (1)
  • xiaobubbk 2020-10-31
    引用 2
    朱老师是360的老板,亿万富豪周鸿祎的技术带头大哥。朱老师也是我的师兄。他应该现在北京,伺候老母,研读学问。如果有机会,我们请他到本论坛做客。
返回
发新帖