又到了招聘季。疫情将我们圈在家里这么长时间,以至于都宅废了!
AI的算法你还记得多少?他们都是如何用Python和Java实现的?恐怕很多人一下子就慌了。
算法和数据结构是每个算法工程师必备的基础技能,也是面试必考的内容。
最近新智元也分析了AI行业算法工程师的就业情况,只能说形势很严峻!懂算法、会算法,将成为你求职路上的一个巨大优势。
今天为大家推荐的这两个项目,分别用Python和Java来实现了常用的所有算法,总星数加起来快10万了!搞定它们,算法面试环节一定能够为你加分。
GitHub超10万星:AI算法的Python和Java实现
这个项目主要包括两部分内容。
首先是有关算法的基本原理讲解。
这部分包括了常见的所有算法,如排序算法、搜索算法、插值算法、跳跃搜索算法、快速选择算法、禁忌搜索算法、加密算法等。
每个算法都给出了详细的注释和使用示例。比如下图Python算法实现的项目中,我们以快排为例看一下,有点Python基础照着敲一遍就能快速理解。
难能可贵的是,其中不少算法还在原理讲解部分加入了相关资源链接,包括维基百科、甚至动画交互网站链接,让原本抽象的算法变得更加直观。
比如下面这个鸡尾酒排序算法:
选择排序算法:
二分查找:
其次,也是本项目的重点:各种算法的代码实现。
你想了解主流的排序算法?点开这个sorts分类,各种排序算法应收尽收。
反向传播
图算法:
项目覆盖范围很广,起初只一系列经典算法,现在加入了更多的内容,比如数据抓取、区块链、数据压缩算法,还新增了量子计算等前沿领域的分类。
以作者的更新频率和贡献者的增长速度来看,这个项目将成长为Algorithm类目的巨无霸。
如果你觉得撸码太枯燥乏味,又没找到可视化的链接,那么下面这个算法可视化项目真的可以解救你。
https://github.com/algorithm-visualizer/algorithm-visualizer
这个项目目前支持所有算法JavaScript、C++、Java三种语言的实现,你可以在左边搜索你想学习的算法,在右侧控制播放速度,还能实时观察代码运行到了哪一行,当然你只想了解算法原理的话看中间的可视化部分就够了。
比如排序算法中的快排和最短路径搜索算法Dijkstra。
quicksort
Dijkstra
10万星背后,是一位想当亿万富翁的印度开发小哥
其实去年这个时候,这俩项目加起来也没超过3万星,今年突然就快10万了!
我们很好奇,一年涨星5万+的项目,是谁创立的?于是我们就扒了扒The Algorithms 这个项目的创始人:Anup Kumar Panwar。
Anup是一个痴迷于计算机的印度tech boy,毕业于印度一所拥有140年历史的大学:Panjab(旁遮普)大学。这是一所比北大还要年纪大的学校。
自称是技术、创业和编程爱好者。还对网络开发、混合型app开发和创新感兴趣,曾开发过一款叫做「Coupon, vouchers and promo codes」的优惠券app。
高中时期就刻意的培养自己的口才,当过head boy(经常需要做演讲的那种)、布过科学展、参加过辩论队。
上了大学后又开始热衷于研究商业,坦言自己的梦想是成为一名优秀的程序员和亿万富翁。
目前在Gojek公司担任产品工程师。Gojek是东南亚按需多服务平台和数字支付技术集团。最初于2009年在印度尼西亚成立,是一个呼叫中心,用以将消费者与快递和两轮叫车服务联系起来,名字源于印尼各地常见的「Ojek」或摩托车出租车。
由此可见,梦想还是要有的。预祝各位正在求职的读者,看完这些算法后能够顺利通过面试,获得自己想要的职位。