学好算法,真的需要智商吗?

640?wx_fmt=png

(小灰养的小小灰,为大家送上祝福!)

许多程序员朋友工作了很多年,还是无法进入互联网大厂。

这些人都有类似的体验:自己做的项目没有技术含量,成天就是卖苦力。对自己将来的发展很迷茫,不知道该从什么方向去努力。

毕竟,技术的东西,日新月异,如果总在忙于追求热点新技术,东学学、西学学,平时泛泛地看技术书籍、技术文章,很难抓住技术的本质,干了三五年之后,感觉并没有积累到什么东西,跟刚毕业的大学生能力差不多,就很容易感到焦虑。
 
实际上,小灰觉得,焦虑、和不自信的本质原因,还我们没有想通想透,做为程序员,我们该积累到底什么东西?
是各种知识、技术本身吗?
不是喔!
小灰这里要说了:我觉得最应该积累的是——“能力”。
 
能力就像是内功,而知识就像是招式。
知识可能会过时,但是能力永远都不会过时。
 
对于一个程序员来说,如何修炼内功,提高自己的能力呢?
首先肯定是要打好基本功,比如掌握操作系统、编译原理、数据库理论等。而最最根本也最基础的,应该就是扎实的掌握数据结构和算法了,这也就不难理解为什么大厂面试都喜欢考算法题目。
 
讲讲这些年小灰自己学习算法的一些感悟吧。
 
1、算法不是纯粹拼智商的,智商高,就一定很厉害,不够聪明,就一定不行。算法是一种技能,是可以通过科学合理的方式训练出来的能力。
 
2、学算法,刷题蛮干是不行的,需要遵循科学的方法,算法训练是一个系统工程,需要循序渐进,太过于急功近利,反而容易因做不出难题而产生挫败感,带来反效果。
 
其实,市面上基本所有的算法教程,小灰都看过。尽管有很多资料讲得通俗易懂,也有很多书籍都很全面、经典,但是大部分都偏理论,书中的例子也大多脱离真实的软件开发。
 
看完书之后,很多人只是死记硬背了一些知识点而已。这样填鸭式的学习,对于锻炼思维、开拓眼界并没有太多作用。而且,从基础理论到应用实践,有一个非常大的鸿沟要跨越,这是大学教育的普遍不足之处,这也是为什么我们常常觉得大学里学过的很多知识都没用。
 
直到有一天遇到了《数据结构与算法之美》——新世界的大门在小灰面前徐徐展开。
看完这个专栏,小灰对算法的理解和学习又重新上了一个新的高度,这个专栏是市面上唯一一个适用于工程师的专栏,也是市面上最火爆的算法课程,已经有60000+程序员加入学习了。
 

       640?wx_fmt=jpeg      

记得这个专栏去年9月上线的,目前已全部更新完毕,当时开始预计是写45篇,结束时足足写了72篇,小灰已经刷了两次,从基础到思维再到实战中间穿插阶段性的总结和练习,是小灰见过最全面,也是性价比最高的教程了。

 

       640?wx_fmt=png      

 
它列举了大量实际软件开发中的场景,给你展示如何利用数据结构和算法解决真实的问题,小灰掰着胖胖的指头数了下,整个专栏会涵盖100多个算法真实项目场景案例。 作者还手绘了一些清晰易懂的详解图(总共有300多张),让晦涩难懂的算法变得轻松有趣。
 
它并非只是单纯地把某个知识点讲清楚,而是结合作者王争(前Google工程师)的理解、实践和经验来讲解。 认真学习完你就知道他是一个跟所有国内、国外经典书籍都不一样的专栏,一个可以长期影响你的专栏

 

       640?wx_fmt=jpeg      

手绘图—出自《数据结构与算法之美》

 

留言区赞美的话太多了,现在小灰截取很少的一部分,展示给你。 如果你感兴趣,可以试读一下专栏中“结束语 | 送君千里,终须一别”那篇文章,里面的留言足以看出对作者的无比认可!

 

       640?wx_fmt=jpeg      

 

 

为了让粉丝最大力度的享受优惠(自己的钱留着干点啥都好),特意找极客时间官方申请了独家优惠,粉丝订阅全网价格最低,限额100人,扫描二维码即可试读。

       640?wx_fmt=jpeg      

算法对于一个程序员来说为什么如此重要? 抛开最现实的职场竞争力,薪资等等,往深远点说,掌握了数据结构与算法,你看待问题的深度,解决问题的角度就会完全不一样。 因为这样的你,就像是站在巨人的肩膀上,拿着生存利器行走世界。 数据结构与算法,会为你的编程之路,甚至人生之路打开一扇通往新世界的大门。
 
优惠名额有限,点击阅读原文立即订阅。
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 学习算法的一个好方法是先了解一些基础概念,然后尝试自己独立解决一些较简单的问题。随着自己的能力提高,可以尝试解决更复杂的问题。 在学习过程中,可以尝试使用一些在线平台,如LeetCode或者Hackerrank,上面有大量的算法练习题,可以帮助你练习和提高自己的算法能力。同时,也可以尝试参加一些算法竞赛,如ACM-ICPC,这让你在竞争中获得更多的实战经验。 另外,建议学习算法的初学者结合自己的兴趣和目标来选择学习的算法。例如,如果你有兴趣于人工智能,可以尝试学习机器学习算法;如果你有兴趣于图形学,可以尝试学习图论算法。这样做让你对学习的内容更感兴趣,并且更容易坚持下去。 此外,在学习算法的过程中,也可以尝试和其他人交流,分享自己的学习心得。通过交流,可以帮助你更好地理解算法,并且能够得到他人的帮助和指导。 总的来说,学习算法需要耐心和毅力 ### 回答2: 学好算法对初学者来说是一个挑战,但通过以下方法可以帮助他们更好地学习算法。 1. 系统学习:初学者应该从教科书、在线教程或课程中选择一本介绍算法的教材,并按照顺序学习。这样可以建立起系统的知识框架。 2. 理论结合实践:理论知识需要与实际问题相结合,初学者应该尝试使用学到的算法解决一些实际问题。实践过程中,他们可以深入了解算法的原理和应用。 3. 刻意练习:解决算法问题需要反复练习。初学者可以尝试不同类型的算法问题,挑战自己的思考和解决问题的能力。 4. 编写代码:算法的实现是非常重要的一步。初学者应该亲自编写算法的代码,并进行调试和优化。这有助于加深对算法的理解。 5. 学以致用:初学者应该在实际项目中应用所学算法,进一步巩固知识。通过将算法应用到真实场景中,初学者可以更好地理解算法的作用和效果。 6. 阅读他人代码和解决方案:初学者可以学习其他人编写的算法代码和解决方案。这样可以开阔思路,学习不同的解决方法,并看到实际代码如何应用算法。 7. 寻求帮助:初学者可能遇到问题,可以寻求他人的帮助和建议。可以参加算法学习群组或论坛,与其他学习者交流经验。 总而言之,初学者要学好算法需要系统学习、实践、刻意练习以及在实际项目中应用。通过这些方法,他们可以不断提高算法水平。 ### 回答3: 要让初学者学好算法需要采取以下几个步骤。 首先,选择合适的教材和学习资源是非常重要的。初学者应该选择那些针对入门者设计的算法教材或者在线课程,这样能够帮助他们逐步了解和理解算法的基本概念和原理。 其次,理论与实践相结合也是必不可少的。仅仅阅读和理解理论知识是不够的,初学者应该通过编写代码来实践算法。可以使用一些在线的编程平台或者算法竞赛平台来锻炼自己的实际编程能力。 另外,与其他学习者进行交流和讨论也是相当有效的学习方法。可以参加一些算法学习群组或者参加相关的课程,与其他学习者一起讨论和解决问题,从中获得更多的思路和技巧。 此外,坚持练习和刻意练习也是非常重要的。学习算法需要持之以恒的努力和积累。初学者应该每天保持一定的练习时间,通过解决一些简单到复杂的算法问题,来逐渐提升自己的解题能力和算法思维。 最后,要有耐心和坚持不懈的精神。学习算法并不是一蹴而就的事情,需要长期的努力和坚持。初学者要保持积极的心态,不断尝试和学习,相信自己的能力和潜力。 总的来说,初学者要学好算法需要选择好的学习资源,理论与实践相结合,与他人交流和讨论,坚持练习和刻意练习,以及保持耐心和坚持不懈的精神。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值