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月前
|
设计模式 算法 搜索推荐
Java 设计模式之策略模式:灵活切换算法的艺术
策略模式通过封装不同算法并实现灵活切换,将算法与使用解耦。以支付为例,微信、支付宝等支付方式作为独立策略,购物车根据选择调用对应支付逻辑,提升代码可维护性与扩展性,避免冗长条件判断,符合开闭原则。
714 35
|
7月前
|
人工智能 数据安全/隐私保护 Python
小红书图文生成器,小红书AI图文生成工具,python版本软件
Pillow库自动生成符合平台尺寸要求的配图7;3)利用Playwright实现自动化发布流程6。
|
5月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
718 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
4月前
|
存储 算法 搜索推荐
《数据之美》:Java数据结构与算法精要
本系列深入探讨数据结构与算法的核心原理及Java实现,涵盖线性与非线性结构、常用算法分类、复杂度分析及集合框架应用,助你提升程序效率,掌握编程底层逻辑。
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
python编写AI生常用匡架及使用指令集
本文介绍Python中常用AI框架,包括TensorFlow、PyTorch、Scikit-learn、Hugging Face、spaCy、OpenCV及XGBoost等,涵盖安装指令与基础代码示例,适用于机器学习、深度学习、自然语言处理与计算机视觉等领域,助力快速入门与应用开发。(238字)
456 7
|
5月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
715 7
|
4月前
|
存储 人工智能 算法
从零掌握贪心算法Java版:LeetCode 10题实战解析(上)
在算法世界里,有一种思想如同生活中的"见好就收"——每次做出当前看来最优的选择,寄希望于通过局部最优达成全局最优。这种思想就是贪心算法,它以其简洁高效的特点,成为解决最优问题的利器。今天我们就来系统学习贪心算法的核心思想,并通过10道LeetCode经典题目实战演练,带你掌握这种"步步为营"的解题思维。
|
6月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
1218 1
|
7月前
|
机器学习/深度学习 算法 Java
Java实现林火蔓延路径算法
记录正在进行的森林防火项目中林火蔓延功能,本篇文章可以较好的实现森林防火蔓延,但还存在很多不足,如:很多参数只能使用默认值,所以蔓延范围仅供参考。(如果底层设备获取的数据充足,那当我没说)。注:因林火蔓延涉及因素太多,如静可燃物载量、矿质阻尼系数等存在估值,所以得出的结果仅供参考。
177 4
|
7月前
|
人工智能 测试技术 编译器
从 Python 演进探寻 AI 与云对编程语言的推动
Python 自 2008 年发布 3.0 版本以来,经历了持续演进与革新。十六年间,从 Python 3.0 到即将发布的 3.14,语言设计、性能优化、类库生态及虚拟机技术等方面均有显著提升。字符串处理、异步编程、类型系统等核心功能不断现代化,Faster CPython 和 JIT 编译技术推动运行效率飞跃。同时,AI、云计算等新兴技术成为其发展的重要驱动力。本文全面回顾了 Python 的演进历程,并展望未来发展方向。
259 2

推荐镜像

更多