这个主题是写给自己的,假如你刚好也和我一样讨厌算法,那也是写给你的。我的主要参考书目是《算法导论》第3版中文版,自己先琢磨明白一个算法,然后再按我的理解写出来。
既然讨厌为什么还学?主要是因为它正在变得极其重要,无处不在。另一个谈不上是原因的原因就是,每每看到我4个月大的孩子,无所畏惧的迎接他的未来,我就想尝试一次“重来”。
过往,完全不碰算法的程序员也可以活得很好,毕竟万物互联还在进行中,信息通路基础设施的构建还有很多工作可以做。这种场景下,算法更多的是在满足非功能性需求,提升系统效率。
一旦一个领域完成了信息联通,完成了信息基础架构的从无到有,每个联入的个体或终端就会主动或被动的对算法产生刚性的功能性需求,这种量级的应用是以前所不曾有过的。
- 每个司机不仅要求能够到达目的地,还要求自己能随时避开拥堵调整路线。
- 每个外卖小哥接单前后都要求自己是按照最优路线来接、送物品。
- 每个人都希望资讯类App只推送对自己有价值的信息。
- 社交网络中的人已经不再满足仅仅分享图片,还希望系统能自动帮他们识别图片甚至视频中的信息。
越来越多的算法需求会作为功能被提出,此时讨厌算法的程序员断然不能从系统、语言、数据库、网络、框架、UI这些层面找到解决方案,而必须求助于算法这个博大精深的武器库。
“讨厌”仅仅是不喜欢,而不是学不好,我坚信任何人都可以通过循序渐进、稳扎稳打的方式掌握这门手艺。
共享协议:署名-非商业性使用-禁止演绎(CC BY-NC-ND 3.0 CN)
转载请注明:作者黑猿大叔(简书)