程序员如何提升算法思维?
持续学习,持续开发,是目前主流IT业界程序员的一个生活常规,在现代技术迭代速度非常快的情况下,只有不断保持自我学习和探索才不会与时代脱节。无论是专业的IT从业者还是IT小白,都需要培养自己的算法思维。天通苑电脑培训发现拥有良好算法思维后的直接好处有:更高的面试成功机会,和更快的日常问题处理能力。
何为算法思维,并不是对一些已经设计好的优秀代码的反复背诵和背板,而是自己对于问题的抽象能力的练习,即从抽象问题到实际进行编码或者设计程序解决问题的一个能力,如果单纯对于一些算法进行背诵的话,我们的思维能力不会得到提升,最多就是熟练的码农而已。所以,当看到别人设计的优秀算法后,我们一定要探寻算法背后那“曲径通幽”的思维之路。只有经历了思维之路的磨难,才能永远占有一个算法,并有可能举一反三,或者是设计一个巧妙算法。
个人认为,对于提升算法思维的方法,首先我们需要深入思考各种苦恼的问题,例如:
假设我喜欢租车出行,那么对于某一个地方的停车点一般在什么时候有车的机率最大?有车的概率是否与天气,温度等因素有关?
我希望可以在回家之前通过手机APP让家里的空调提前工作起来,但是我非常Geek,不想使用现成的产品而想自己实现一个,和同学吹牛的时候可以更加脱颖而出?
在明确了这些问题以后我们就可以开始思考如何尝试写一个小的程序来帮助自己解决,这个时候如果手头有一个习惯的语言就非常合适了(比如我个人就喜欢Python,有很多库可以使用,而且入门非常容易),如果没有的话,可以去看看各个语言合适的场景,不过对于爬虫、数据分析相关个人认为更加贴合日常生活的项目来看,还是考虑直接从Python3起步比较好,后期如果想用树莓派做点智能家居相关的项目的话Python也是非常合适的。
对于Python的学习,目前有很多非常成熟的课程,可以覆盖各个不同的能力范围,这里着重推荐Coursera 的视频课程,配合本地IPython或者LeetCodePlayground一起调试和练习,可以获得很好的效果。