昨日,我看完了算法面试40讲,这门课程的学习一直断断续续。费了九牛二虎之力,在不断回溯和反复当中,结束了这一门课程。

今日,图灵微信公众号推送殿堂级算法书籍,计算机程序设计艺术(The Art of Computer Programming),很显然,对于很多人而言,算法是通往高级计算机工程师的必由之路。同时也有很多人,在业务层写得非常顺手,因此质疑算法的实用性和价值。不仅自己不学,更有甚者甚至干扰其他人学习算法。甚至某位外行说:“算法根本没用,操作系统才是根本。”我看了一眼银行家算法和进程调度算法,以及支撑进程调度算法的红黑树,还有压缩图片、音频、文件的哈夫曼树,我仿佛听到了一声叹息。

算法是解决问题的方法,特别是计算机解决问题的方法。广义上,算法就是指人们处理问题的思路,而在计算机里,便是一个个解决实际问题的思路的抽象概括。各个数据结构也是对算法的辅助。算法要学到多深入?其实还是要看个人。真的不是一上来就拿着一本算法导论,在某个不为人知的角落看着,因为收获的只有满满的挫败感。

算法导论主要是对算法的分析,而不是对算法的应用。前几天,我到一个网站上选择方向时,算法下面直接建议我选择一个细分方向。也是,算法最终要有落脚点,要服务于实际生活。

经过社会的不断折磨,我往往自己阅读算法,也不会说其他胡话。别人问学算法有用吗?开心就说几句闲话,不开心直接回答没用。今年贸易战继续升级,我只能得出一个结论,在有条件的情况下,一定要有自己的备用计划,不管自己的能力有大有小。总之,手中有粮,心里不慌。我可能一辈子也写不了一个框架,但是至少总要储备写框架的能力,当真有一天,不得不上的时候,有点底气也是好事。