刷题太遭罪怎么办?这个算法基地专为小白量身打造,还带动画

2021 年 3 月 25 日 机器之心

机器之心报道

编辑:陈萍

如何有效地刷算法题?刷题小白最新打卡地。

算法很重要,但算法也是学起来最难,最令人生畏的。算法千千万,不知该如何下手?

经常看到有人抱怨:刚开始刷题时,自己很迷茫,不知道从何刷起,也看不懂别人写的题解。思路飞来飞去,有时候以为是这个知识点重要,但有时又认为自己走错了路,结果学了半天,越刷越乱,时间、经历都白白浪费。

其实,学算法,刷题蛮干是不行的,需要遵循科学的方法。

学习算法可能并不只是拼智商,可以通过后天的学习进行掌握,这就需要讲究技巧。方法找对了,可以起到事半功倍的效果。

近日,在 Github 上就有人开源了一个项目,该项目是专门为刚开始刷题的同学准备的算法基地,项目作者立志用动画将晦涩难懂的算法说得通俗易懂。上线仅仅两天,收获九百多星。


  • 项目地址:https://github.com/chefyuan/algorithm-base

  • 刷题大纲:https://mp.weixin.qq.com/s/fTMzLrv5Ou2Xf3_br80J0g


科学刷题,有妙招

项目作者分门别类地将算法分成几大部分:数据结构、字符串匹配算法、排序算法、排序算法秒杀题目、数组篇、求和问题、求次数问题、链表篇、双指针、栈和队列等。依据作者的思路进行刷题,问题应该不大。

在每个算法模块中,包含动画模拟、绘图解析,可谓是图文并茂,用动画的方式将晦涩难懂的算法描述成通俗易懂的语言。

项目作者表示,该项目会一直维护,希望对各位有一丢丢帮助。另外给刚开始刷题,但是不知道从哪里开始刷的同学,整理了一份刷题大纲,可以先按这个顺序刷,刷完之后应该就能入门了。

在字符串匹配算法模块中,项目作者列举了三个示例:字符串匹配 BF 算法、BM 算法、KMP 算法。


以字符串匹配 BF 算法为例,点击相应的算法,会链接到对应的算法主页。 在算法主页,项目作者通过诙谐幽默的话语向读者介绍了什么是字符串匹配。 然后进入主题,对这一概念进行定义: 设 S 和 T 是给定的两个串,在主串 S 中找到模式串 T 的过程称为字符串匹配,如果在主串 S 中找到 模式串 T ,则称匹配成功,函数返回 T 在 S 中首次出现的位置,否则匹配不成功,返回 -1。 然后通过图示的方式供读者理解。


在讲到算法时,项目作者采用动图的形式,将抽象的算法具象化,为很多算法研究者带来便利,通过动图,就能很好地理解算法,这也是该项目最具创新的地方。

字符串匹配 BF 算法动图展示。

将算法向读者介绍清楚后,接着就是依据算法解决经典问题,将思路转换为代码。当你确定题目都已经理解,并且分析推导出了题目的解法后,你才开始思考如何将自己的思路转换成代码。

有时,将一个思路转换成算法是很容易且自然的;但有时,有些思路转换成代码,是很有难度的事情。

项目作者将思路转代码这件事做得很好,将题目描述、题目解析、题目代码都讲解的非常清楚,依据作者的思路,很快就能掌握这个算法的精髓,可谓是省时又省力。

在数组篇中,以两数之和为例:项目作者将两数之和分解为题目描述、示例、双指针(暴力)法、解析、题目代码、哈希表、动图解析等内容。

哈希表解析项目作者是这样描述的「哈希表的做法很容易理解,我们只需通过一次循环即可,假如我们的 target 值为 9,当前指针指向的值为 2 ,我们只需从哈希表中查找是否含有 7,因为 9 - 2 =7 。如果含有 7 我们直接返回即可,如果不含有则将当前的 2 存入哈希表中,指针移动,指向下一元素。注:key 为元素值,value 为元素索引。」然后就是动图展示。

哈希表解析动图展示。

本文只介绍了其中两个算法示例,刚开始刷题的同学,如果不知道该怎么刷,可以按照项目作者给出的思路,一气刷下来,算法基础应该问题不大,循序渐进,必能取得好的效果。

建新·见智 —— 2021亚马逊云科技 AI 在线大会

4月22日 14:00 - 18:00


大会包括主题演讲和六大分会场。内容涵盖亚马逊机器学习实践揭秘、人工智能赋能企业数字化转型、大规模机器学习实现之道、AI 服务助力互联网快速创新、开源开放与前沿趋势、合作共赢的智能生态等诸多话题。

亚马逊云科技技术专家以及各个行业合作伙伴将现身说法,讲解 AI/ML 在实现组织高效运行过程中的巨大作用。每个热爱技术创新的 AI/ML 的爱好者及实践者都不容错过。

识别二维码或点击阅读原文,免费报名看直播。


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

登录查看更多
0

相关内容

在数学和计算机科学之中,算法(Algorithm)为一个计算的具体步骤,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令用于计算函数。 来自维基百科: 算法
专知会员服务
48+阅读 · 2021年5月21日
【干货书】掌握Python算法,337页pdf
专知会员服务
80+阅读 · 2021年3月20日
【经典书】操作系统导论,687页pdf
专知会员服务
174+阅读 · 2020年10月28日
【人大】图实现算法综述与评测分析
专知会员服务
38+阅读 · 2020年4月28日
【天津大学】风格线条画生成技术综述
专知会员服务
34+阅读 · 2020年4月26日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
226+阅读 · 2020年3月22日
机器学习速查手册,135页pdf
专知会员服务
342+阅读 · 2020年3月15日
字节跳动 | 推荐算法工程师面经
机器学习与推荐算法
10+阅读 · 2020年7月6日
35岁后的算法工程师,是不可或缺还是被淘汰?
极市平台
14+阅读 · 2019年12月3日
秋招面经 | 旷视科技算法岗秋招面试经验分享
极市平台
9+阅读 · 2019年8月10日
作为字节跳动的研发面试官,有些话我不得不说!
互联网架构师
12+阅读 · 2019年4月22日
春招已近,送你一份ML算法面试大全!
机器学习算法与Python学习
10+阅读 · 2019年2月22日
这个开源项目有意思,用动画教你学算法
算法与数据结构
4+阅读 · 2018年12月27日
机器学习/算法19家公司面试总结(内含薪资)
深度学习世界
12+阅读 · 2017年11月14日
Programming Puzzles
Arxiv
0+阅读 · 2021年6月10日
Arxiv
19+阅读 · 2020年7月21日
Image Captioning based on Deep Reinforcement Learning
VIP会员
相关VIP内容
专知会员服务
48+阅读 · 2021年5月21日
【干货书】掌握Python算法,337页pdf
专知会员服务
80+阅读 · 2021年3月20日
【经典书】操作系统导论,687页pdf
专知会员服务
174+阅读 · 2020年10月28日
【人大】图实现算法综述与评测分析
专知会员服务
38+阅读 · 2020年4月28日
【天津大学】风格线条画生成技术综述
专知会员服务
34+阅读 · 2020年4月26日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
226+阅读 · 2020年3月22日
机器学习速查手册,135页pdf
专知会员服务
342+阅读 · 2020年3月15日
相关资讯
字节跳动 | 推荐算法工程师面经
机器学习与推荐算法
10+阅读 · 2020年7月6日
35岁后的算法工程师,是不可或缺还是被淘汰?
极市平台
14+阅读 · 2019年12月3日
秋招面经 | 旷视科技算法岗秋招面试经验分享
极市平台
9+阅读 · 2019年8月10日
作为字节跳动的研发面试官,有些话我不得不说!
互联网架构师
12+阅读 · 2019年4月22日
春招已近,送你一份ML算法面试大全!
机器学习算法与Python学习
10+阅读 · 2019年2月22日
这个开源项目有意思,用动画教你学算法
算法与数据结构
4+阅读 · 2018年12月27日
机器学习/算法19家公司面试总结(内含薪资)
深度学习世界
12+阅读 · 2017年11月14日
Top
微信扫码咨询专知VIP会员