写点什么

我的算法学习之路

用户头像
熊斌
关注
发布于: 2021 年 01 月 29 日
我的算法学习之路

之前在写作平台分享过一篇我在极客大学的学习收获,可以点击链接查看(https://xie.infoq.cn/article/6bb70fffad0ae27bdbb9ca758),昨天晚上看到极客大学的直播,又想起了我在算法训练营的那段日子。天天学习超哥的课程、刷题、复盘、提交作业,还要去看小组其他同学有没有提交,以及他们作业的质量。用两个字来形容就是充实


分享一下学习经验,希望对于有想提升算法能力的同学有帮助。

平台选择


先说一下我为什么会参加算法训练营。理由很简单,我认为自己很普通,普通到发现自己平时是一个 CURD boy,另外,我即将要 30 岁了,如果再不补上数据结构和算法这一课,怕真迈步过去 35 岁这个坎。


问题又来了,市面上关于数据结构和算法的书和课程那么多,我为什么会选择极客时间这个平台?答案也很简单,因为物美价廉。它一直在想方设法增长,入驻它的大咖足够优秀。早点和它一起成长,一点儿也不亏。


会写 CURD 的码农一抓一大把,但是能将数学、数据结构和算法玩明白的软件工程师很稀缺。数据结构、算法等底层知识永远都是编程大师们的护身法宝,就如同少林寺的《易筋经》,是最重要的上乘武功,学会了,你将无所不能。如果你想成为一名增长型的程序员,想要武功出神入化无所不能,就请深入学习、终身学习、高效学习。


那我们该如何高效学习呢?在这里总结一下自己在算法训练营第五期的学习经验。

明确学习目标

我们要明确自己的学习对象,而不要漫无目的地什么都想学。例如,我是一名 Java 程序员,在学习数据结构和算法,leetcode 刷题时,我就以 Java 语言为主。

调整学习方法

主要分享 6 个方法:

  • 使用自然主义的学习方法

自然主义的核心是模仿,语言、乐器、书法等适合这种方法学习,注重一门知识或者技能表面上看起来的样子。学习的人需要一丝不苟地去模仿。在 leetcode 刷题练习时,国际站中,那些 discuss 里面的 most votes 中的题解是我们模仿的对象。


不要使用结构主义的学习方法,结构主义的核心是创造。医学、艺术、经济学等学科适合这种方法学习。不要想着一上来就拍脑袋要创造一个问题的算法题解,对于普通程序员而言,是最低效的学习方法,坚决摒弃。


  • 充分利用碎片化时间学习

我们不可能每次学习都端坐在图书馆或者是家里面,每天还要面对各种杂七杂八的事儿,对我们而言,碎片化的学习可能是我们学习的唯一方式了,吃饭、通勤利用一切可以利用的时间。


  • 带着困惑和问题想学习

带着困惑和问题学习,最终的效果一定是要把这些问题解决。比如别人的题解中某个问题你不理解,首先你要用一句话描述清楚自己的问题,然后带着关键词去搜索,最后解决掉这个问题。不是【收藏】下来,一定要破除现在收藏下来,以后再学的幻想。


  • 任务驱动

我们大家都是成年人,不要说是因为对编程感兴趣,所以才学算法,应该用任务来驱动自己。比如两个月后要去找一份更好的工作,要解决工作中遇到的难题等等。

如果,你找不到任务来驱动,我可以告诉你,任务到处都是,生活中的任务驱动,比如给自己开发一款工具,工作中的职业强迫,想要写出更优秀的代码,以教为学等等都是任务。


  • 以教为学

自从算法训练营开班以来,我每天早上六点起来后要刷题。刚开始刷的有点慢。我遇到自己之前没遇到过的概念时,先自己学一遍,然后我会给我老婆再讲一遍,如果她听懂了,我也就学明白了。

除了将学到的东西讲给一个完全不懂的人,还可以写成 blog 微信公众号等方式输出,当你能写出来,能写明白的时候,也能说明你真的学明白了。


  • 跟随大师

不要跟着臭棋篓子下棋,那样你会越下越臭。覃超老师是算法方面的专家,是我们选择中的最优解。跟随之,学习之。


最后,找对方法后,请练就五毒神掌,一定不要忽视重复的力量。


发布于: 2021 年 01 月 29 日阅读数: 93
用户头像

熊斌

关注

心中有月亮,手中有六便士 2017.12.01 加入

程序员|得到大学6期学员|极客大学算法训练营5期学员|宅男 公众号:大熊出没

评论

发布
暂无评论
我的算法学习之路