如何学习算法?

640?wx_fmt=png

今天在群里刚好看到有人在讨论算法的问题,刚好自己曾经也有一个算法大神的梦,来说说自己对算法的理解。

  • 算法怎么学?

  • 什么样程度才算把算法学透?

  • 算法学会了有什么用?


算法的学习是非常重要的,那算法学到什么程序才算学通?很简单学算法的有个必备的基础功「白板编程」,即用笔和纸就可以把一个算法手写出来。举个例子快速排序,这个算法你脑子里能第一时间把它理清思路吗?随后还能手写的出来吗?

算法是一门非常深奥的学科,除了一些基础的算法,还有非常多更高阶的内容。但要知道所有的编程技术,都是为了解决现实生活中某个实际问题。算法也是如此。

很多人学算法学不明白或者觉得很难,就是因为这些晦涩难懂的算法,在实际的编程中你很难应用到。做编程 90% 的人是没学过算法,但不妨碍别人开发做的牛逼。然而不懂算法的人,是很难进阶到高阶的岗位,也就是我们俗称的码农。

那算法在实际应用中有什么用?举个例子布隆过滤器算法(Bloom Filter),非常经典的一个去重算法。它能非常高效的进行各种去重,提高你的运行效率。

程序的效率提高它能得到收益?再来看个例子 2018 年淘宝双 11,开场 21 秒交易额超 10 亿,每秒就是 0.47 亿。淘宝的程序多优化一秒就能多带来 0.47 亿交易额。

而在我们现实生活中有无数这样的例子,多优化这一秒就能给公司带来巨大的收益。

回到最初的问题,什么样才算把算法学通?

1 完全明白算法的运作原理
2 能白板编程
3 知道它在实际应用中能有什么用

把这三点弄清楚你的算法已经比绝大部分人都强了。

那具体要怎么学算法?

1 初学者跟着视频学习

算法有很多经典的书籍,但这些书籍都是劝退杀手。当年我在学算法的时候,每看一本算法书,就多产生一点不想在继续学算法的冲动。这些书是非常经典非常好,但对于小白来说太难理解了。

640?wx_fmt=png

初学者学习算法最好的方式就是跟着视频学,这里我推荐慕课网的bobo老师的算法课。他的算法课通俗易懂,并且每个算法都配有动态演算过程。是我接触到最好的算法入门视频了。

2 啃书刷题

学完了bobo老师的算法课,就可以开始找本经典的算法书籍,开始啃书之旅。这里推荐《算法》第四版这本书。书一定是要啃的,这样你才能进一步提高。当然这时候的学习不能是傻啃,从头看到尾的那种。一定是要带着问题去时常翻阅书籍。

640?wx_fmt=png

这时候就要开始配合刷题了,学的东西你不用起来,过一段时间一定会忘记的。你就可以去 leetcode 开始刷题,最开始从简单的难度刷起,逐步到最难等级。

3 参加算法比赛

640?wx_fmt=png

前两步你都坚持下来并认真的去做了,那么普通难度的算法对你来说已经没有什么挑战了。这时候你就可以去参加各种算法比赛了。比如蓝桥杯,ACM,LeetCode周赛等等。这些比赛不仅含金量高,而且往往有丰厚的奖金。如果你能在 ACM 上拿到名次,国内的大厂基本就对你敞开大门。

4 时常关注最新互联网动态

回归本质算法最终也是用来解决生活中的问题,所以你也要时常了解最前沿的技术。看看大厂们又发布哪些产品,他们都用了哪些最新的技术,学习借鉴。

学术要研究,实际应用也要持续关注。那要怎么关注到这些最新的前沿动态呢?这里就要给大家介绍我痴海日报群了,从开始到至今已经运营了 95 期。每天痴海都会在群里给大家提供 3~5 篇优质的文章,中英文都会有。不只局限在编程相关话题,还包括互联网见闻、增长黑客、技术变现、个人能力提升等等。

想 加入 痴海日报群的同学,扫描下方二维码添加我的微信,回复「算法」即可。

除了能每天获取最新优秀资源,痴海还给大家准备了算法资料大礼包,不要错过~

640?wx_fmt=png

5 这世界非黑即白

那就有读者可能好奇痴海你对学习算法这么有心得,那你也一定是个算法大神吧? 巧了,曾经我的内心也是这样想的,我以后也一定会是个算法大神。 但现实却啪啪的打着我的脸,我算法能力非常一般。

这世界并不是非黑即白,不是说你不会算法就无法成为大神,就无法赚到钱。 一定要认清自己的能力边界在哪里。就像我自身,我知道自己很难把数学学好,而学算法一定是要把数学学透。 不然你永远只知招式,不得要领。 而我就是因为这点,在我研究算法如何学习并坚持一段时间之后,我就逐渐放弃学算法。 这条路对我来说是没有任何结果的,就像抖音上那么多漂亮的小姐姐一样: 臭弟弟,别爱我,因为没有结果。

那我放弃了学算法这条路得到了什么?

我用更多的时间用来运营公众号,一年时间内从零增长到如今的 4.6W。

我用更多的时间打磨我的内容创作,一直关注痴海的读者,应该能感受到痴海最近的文章质量越来越高。

我用更多的时间尝试新的赚钱策略,到如今赚的不多,但早已足够我日常的开销。

这条路我们走不通,咱们就换条路走。条条大路通罗马。


-END-

我是痴海,一位 96 后技术博主,终身学习者。

臭弟弟们,不点个在看吗?

640?wx_fmt=gif

  • 32
    点赞
  • 175
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值