有一种美叫做思考
2009-10-26
某日,同学问了我一道题,如何判断两个链表是否相交。我毫不犹豫地回答,遍历两个链表,然后比较看是否有相同节点,时间复杂度O(m*n)。真的应该这么做么?
也许是现在的软件工程做得太好了,大家都不用去思考了。有一次聊天时,软工的老师提到在日本做软件工程师只要完全将文档转化为代码就行了,不需要自己动脑筋去想,程序员完全就是一个Coding Machine。人不是机器,而思考是人的灵魂,正如算法是程序设计的灵魂!
《编程之美》不会教你所有的算法,也不会教会你所有思考的方法,但它会警示你不断去思考,也许前面会有一个方法来解决这个问题。
上大学之后就很少会有时间去思考问题:整天忙着去翘课,忙着看美剧,忙着跑社团,忙着追女生....忙后留下的是一片浮躁,所谓的学习对于绝大多数人来说也只不过是考前的那天下午捧起奥本海姆大叔的那本其厚无比的DSP开始为期一天的预习、学习、复习之旅。可是整天忙忙碌碌的我们看待事物的方式却越来越死板,很多明明很简单的事情却看不透,因为我们渐渐丧失了对于人类来说最重要的思考。
或许,我们该找个地方,静静的坐下,翻开《编程之美》,想想能让CPU占用率跑出正弦曲线的API是不是也可以用来做程序对系统的压力测试,想想一个int类型可以保存多少信息...也许,你会发现,有一种美叫思考。