为什么要学习算法?

在我学习JVM的时候,有一个5~6年开发经验的coder说:学习这个有什么用啊,在工作中又用不到,还这么难。

这句话引起了我的思考,这个问题和我今天想说的,为什么要学习算法其实是同一个问题,也是不少IT从业者不解的问题。

对于很多程序员来说,可能在工作中不会写出比冒泡排序更复杂的算法了,还有必要去花时间去学习吗?先不急着回答这个问题,我们继续看看那个coder是怎么学习的。他说:他在工作的时候遇到不会的东西才会去学习,他认为学习是用来解决问题的,不应该与实际脱节,要学以致用,这样学的话掌握的比较牢固,也不会浪费不必要的时间。

乍一听这个观点也挺对的,生活中也有不少人是这么做的。但是仔细想想,这是一种事件驱动的学习方式,这样学习下去导致的必然结果就是

  • 基础不牢
  • 视野不够开阔
  • 知识面狭隘
  • 解决问题的效率低,解决的并不完美,甚至解决不了

关于上面这些结论,我建议大家仔细琢磨一下,看看是不是这样的。

上面说了这么多,我想大家对这类问题有了一个初步的认识,下面回到我们的议题,为什么要学习算法。其实学算法的目的,不是让我们用这些算法去解决生活中的问题,因为问题各种各样,绝大多数都不能套用现有的算法来解决或者说解决的并不完美。学习算法更重要的目的是培养我们解题的思路,遇到类似的问题能够类比去解决,或者自己能够分析出解题方案。学习数学,科学等学科的目的也在于此,不是让你去用这个解决问题,而是让你有解决问题的能力,也能让你清楚现在技术的边界在哪儿,优化点在哪儿。

我问过不少在阿里的大佬,阿里招人最注重什么,他们无一例外,都回答到了一点:潜力。什么是潜力?我想了很久,最后得出的结论是:学习能力。在未来,在智能时代,或许我们现有的知识都会过时,这就需要我们不断的去学习,能否快速的学会新知识,运用新知识,挖掘新知识是衡量一个人才的重要标准。学习能力是什么?我总结了以下几点:

  • 基础
  • 认知的高度
  • 知识的广度
  • 智力
  • 情商

任何复杂的事物都是由基础构成的,把基础掌握牢,有高于一般人的认知水平,能够类比别的领域的相似事物去学习,拥有不错的智力,学习能力自然就强了。最后是情商,这一点我想重点的说一下,学习不是一个闭门造车的过程,只有交流才能让你学的更好,才能让你理解的更为透彻,所以和人打交道所需要的情商也是很重要的。

最后让我们看看今天的议题:为什么要学习算法?算法是基础,算法能够提升智力,我想这两点就值得我们花时间去学习了。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值