GitHub近10万星:印度小哥用Python和Java实现所有AI算法

简介: 今天两个算法实现的项目又登上了GitHub热榜,每逢招聘季必上榜?此前,这两个项目曾多次登顶,分别用Python和Java实现了面试中常考的算法,AI行业就业形势日趋严峻,而算法岗更是竞争激烈,是时候复习一下基本功了!

微信图片_20220108232520.jpg


又到了招聘季。疫情将我们圈在家里这么长时间,以至于都宅废了!

 

AI的算法你还记得多少?他们都是如何用Python和Java实现的?恐怕很多人一下子就慌了。

 

算法和数据结构是每个算法工程师必备的基础技能,也是面试必考的内容。


最近新智元也分析了AI行业算法工程师的就业情况,只能说形势很严峻!懂算法、会算法,将成为你求职路上的一个巨大优势。

 

今天为大家推荐的这两个项目,分别用Python和Java来实现了常用的所有算法,总星数加起来快10万了!搞定它们,算法面试环节一定能够为你加分。

      微信图片_20220108232523.png  


GitHub超10万星:AI算法的Python和Java实现

 

这个项目主要包括两部分内容。


      微信图片_20220108232525.png 


首先是有关算法的基本原理讲解。

 

这部分包括了常见的所有算法,如排序算法、搜索算法、插值算法、跳跃搜索算法、快速选择算法、禁忌搜索算法、加密算法等

 

每个算法都给出了详细的注释和使用示例。比如下图Python算法实现的项目中,我们以快排为例看一下,有点Python基础照着敲一遍就能快速理解。


      微信图片_20220108232527.png    


难能可贵的是,其中不少算法还在原理讲解部分加入了相关资源链接,包括维基百科、甚至动画交互网站链接,让原本抽象的算法变得更加直观。

 

比如下面这个鸡尾酒排序算法:


微信图片_20220108232529.gif


选择排序算法:


微信图片_20220108232531.gif

二分查找:


      微信图片_20220108232533.png

 

其次,也是本项目的重点:各种算法的代码实现。

 

你想了解主流的排序算法?点开这个sorts分类,各种排序算法应收尽收。


      微信图片_20220108232535.png


反向传播

      微信图片_20220108232537.png


图算法:

    微信图片_20220108232539.png


项目覆盖范围很广,起初只一系列经典算法,现在加入了更多的内容,比如数据抓取、区块链、数据压缩算法,还新增了量子计算等前沿领域的分类。

 

以作者的更新频率和贡献者的增长速度来看,这个项目将成长为Algorithm类目的巨无霸。

 

如果你觉得撸码太枯燥乏味,又没找到可视化的链接,那么下面这个算法可视化项目真的可以解救你。

 

https://github.com/algorithm-visualizer/algorithm-visualizer

 

这个项目目前支持所有算法JavaScript、C++、Java三种语言的实现,你可以在左边搜索你想学习的算法,在右侧控制播放速度,还能实时观察代码运行到了哪一行,当然你只想了解算法原理的话看中间的可视化部分就够了。


     微信图片_20220108232541.png  

 比如排序算法中的快排和最短路径搜索算法Dijkstra


微信图片_20220108232543.gif


quicksort


微信图片_20220108232545.gif


Dijkstra

 

10万星背后,是一位想当亿万富翁的印度开发小哥

 

其实去年这个时候,这俩项目加起来也没超过3万星,今年突然就快10万了!

 

我们很好奇,一年涨星5万+的项目,是谁创立的?于是我们就扒了扒The Algorithms 这个项目的创始人:Anup Kumar Panwar。


微信图片_20220108232547.png

Anup是一个痴迷于计算机的印度tech boy,毕业于印度一所拥有140年历史的大学:Panjab(旁遮普)大学。这是一所比北大还要年纪大的学校。

 

自称是技术、创业和编程爱好者。还对网络开发、混合型app开发和创新感兴趣,曾开发过一款叫做「Coupon, vouchers and promo codes」的优惠券app。

 

高中时期就刻意的培养自己的口才,当过head boy(经常需要做演讲的那种)、布过科学展、参加过辩论队。

 

上了大学后又开始热衷于研究商业,坦言自己的梦想是成为一名优秀的程序员和亿万富翁。


微信图片_20220108232549.png


目前在Gojek公司担任产品工程师。Gojek是东南亚按需多服务平台和数字支付技术集团。最初于2009年在印度尼西亚成立,是一个呼叫中心,用以将消费者与快递和两轮叫车服务联系起来,名字源于印尼各地常见的「Ojek」或摩托车出租车。

 

由此可见,梦想还是要有的。预祝各位正在求职的读者,看完这些算法后能够顺利通过面试,获得自己想要的职位。

相关文章
|
4天前
|
机器学习/深度学习 人工智能 算法
【服装识别系统】图像识别+Python+人工智能+深度学习+算法模型+TensorFlow
服装识别系统,本系统作为图像识别方面的一个典型应用,使用Python作为主要编程语言,并通过TensorFlow搭建ResNet50卷积神经算法网络模型,通过对18种不同的服装('黑色连衣裙', '黑色衬衫', '黑色鞋子', '黑色短裤', '蓝色连衣裙', '蓝色衬衫', '蓝色鞋子', '蓝色短裤', '棕色鞋子', '棕色短裤', '绿色衬衫', '绿色鞋子', '绿色短裤', '红色连衣裙', '红色鞋子', '白色连衣裙', '白色鞋子', '白色短裤')数据集进行训练,最后得到一个识别精度较高的H5格式模型文件,然后基于Django搭建Web网页端可视化操作界面,实现用户在界面中
23 1
【服装识别系统】图像识别+Python+人工智能+深度学习+算法模型+TensorFlow
|
2天前
|
分布式计算 数据可视化 大数据
阿里云大牛熬夜整理的Python大数据小抄,GitHub星标125K!
Python 是一种流行的编程语言,在大数据领域有广泛的应用。Python 拥有丰富的库和工具,可用于数据处理、分析和可视化。 在大数据处理方面,Python 可以与 Hadoop、Spark 等大数据框架集成,实现大规模数据的处理和分析。它也适用于数据清洗、数据转换、数据挖掘等任务。 此外,Python 的数据分析库如 Pandas、NumPy 和 Matplotlib 等,提供了强大的数据处理和可视化功能,使得数据分析变得更加简单和高效。
|
5天前
|
算法 安全 网络安全
网络安全&密码学—python中的各种加密算法
数据加密是一种保护数据安全的技术,通过将数据(明文)转换为不易被未经授权的人理解的形式(密文),以防止数据泄露、篡改或滥用。加密后的数据(密文)可以通过解密过程恢复成原始数据(明文)。数据加密的核心是密码学,它是研究密码系统或通信安全的一门学科,包括密码编码学和密码分析学。
|
8天前
|
数据采集 Python
半小时速通Python爬虫!GitHub开源的Python爬虫入门教程
今天给小伙伴们带来了一篇详细介绍 Python 爬虫入门的教程,从实战出发,适合初学者。 小伙伴们只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫。
|
7天前
|
机器学习/深度学习 人工智能 Java
Java与AI集成开发:机器学习模型部署
Java与AI集成开发:机器学习模型部署
|
8天前
|
数据采集 Python
半小时速通Python爬虫!GitHub开源的Python爬虫入门教程
今天给小伙伴们带来了一篇详细介绍 Python 爬虫入门的教程,从实战出发,适合初学者。 小伙伴们只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫。
|
9天前
|
数据采集 机器学习/深度学习 运维
超全!GitHub星标6500的Python入门教程大全,太强了!
Python 类库(模块)极其丰富,这使得 Python 几乎无所不能,不管是传统的 Web 开发、PC 软件开发、Linux 运维,还是当下火热的机器学习、大数据分析、网络爬虫,Python 都能胜任。 今天给小伙伴们分享的这份Python入门教程大全是从gitee上扒下来的,这套教程不是教科书,不会玩弄概念,而是力求口语化和通俗化,让读者尽快入门。
|
4天前
|
机器学习/深度学习 人工智能 算法
【坚果识别】果实识别+图像识别系统+Python+计算机课设+人工智能课设+卷积算法
坚果识别系统,使用Python语言进行开发,通过TensorFlow搭建卷积神经网络算法模型,对10种坚果果实('杏仁', '巴西坚果', '腰果', '椰子', '榛子', '夏威夷果', '山核桃', '松子', '开心果', '核桃')等图片数据集进行训练,得到一个识别精度较高的模型文件,让后使用Django搭建Web网页端界面操作平台,实现用户上传一张坚果图片 识别其名称。
9 0
|
5天前
|
数据采集 搜索推荐 算法
使用Java编写高效的搜索引擎算法
使用Java编写高效的搜索引擎算法
|
5天前
|
算法 Java 开发者
使用Java编写高效的内存管理算法
使用Java编写高效的内存管理算法