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」或摩托车出租车。

 

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

相关文章
|
6月前
|
人工智能 算法 Java
Java与AI驱动区块链:构建智能合约与去中心化AI应用
区块链技术和人工智能的融合正在开创去中心化智能应用的新纪元。本文深入探讨如何使用Java构建AI驱动的区块链应用,涵盖智能合约开发、去中心化AI模型训练与推理、数据隐私保护以及通证经济激励等核心主题。我们将完整展示从区块链基础集成、智能合约编写、AI模型上链到去中心化应用(DApp)开发的全流程,为构建下一代可信、透明的智能去中心化系统提供完整技术方案。
422 3
|
7月前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
2700 1
|
7月前
|
人工智能 Java 开发者
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
JManus是阿里开源的Java版OpenManus,基于Spring AI Alibaba框架,助力Java开发者便捷应用AI技术。支持多Agent框架、网页配置、MCP协议及PLAN-ACT模式,可集成多模型,适配阿里云百炼平台与本地ollama。提供Docker与源码部署方式,具备无限上下文处理能力,适用于复杂AI场景。当前仍在完善模型配置等功能,欢迎参与开源共建。
2766 58
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
|
7月前
|
人工智能 Java API
构建基于Java的AI智能体:使用LangChain4j与Spring AI实现RAG应用
当大模型需要处理私有、实时的数据时,检索增强生成(RAG)技术成为了核心解决方案。本文深入探讨如何在Java生态中构建具备RAG能力的AI智能体。我们将介绍新兴的Spring AI项目与成熟的LangChain4j框架,详细演示如何从零开始构建一个能够查询私有知识库的智能问答系统。内容涵盖文档加载与分块、向量数据库集成、语义检索以及与大模型的最终合成,并提供完整的代码实现,为Java开发者开启构建复杂AI智能体的大门。
3952 58
|
6月前
|
设计模式 算法 搜索推荐
Java 设计模式之策略模式:灵活切换算法的艺术
策略模式通过封装不同算法并实现灵活切换,将算法与使用解耦。以支付为例,微信、支付宝等支付方式作为独立策略,购物车根据选择调用对应支付逻辑,提升代码可维护性与扩展性,避免冗长条件判断,符合开闭原则。
1371 35
|
6月前
|
人工智能 缓存 自然语言处理
Java与多模态AI:构建支持文本、图像和音频的智能应用
随着大模型从单一文本处理向多模态能力演进,现代AI应用需要同时处理文本、图像、音频等多种信息形式。本文深入探讨如何在Java生态中构建支持多模态AI能力的智能应用。我们将完整展示集成视觉模型、语音模型和语言模型的实践方案,涵盖从文件预处理、多模态推理到结果融合的全流程,为Java开发者打开通往下一代多模态AI应用的大门。
519 41
|
7月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
1057 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
6月前
|
存储 算法 搜索推荐
《数据之美》:Java数据结构与算法精要
本系列深入探讨数据结构与算法的核心原理及Java实现,涵盖线性与非线性结构、常用算法分类、复杂度分析及集合框架应用,助你提升程序效率,掌握编程底层逻辑。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
python编写AI生常用匡架及使用指令集
本文介绍Python中常用AI框架,包括TensorFlow、PyTorch、Scikit-learn、Hugging Face、spaCy、OpenCV及XGBoost等,涵盖安装指令与基础代码示例,适用于机器学习、深度学习、自然语言处理与计算机视觉等领域,助力快速入门与应用开发。(238字)
641 7
|
6月前
|
人工智能 监控 Java
Java与AI智能体:构建自主决策与工具调用的智能系统
随着AI智能体技术的快速发展,构建能够自主理解任务、制定计划并执行复杂操作的智能系统已成为新的技术前沿。本文深入探讨如何在Java生态中构建具备工具调用、记忆管理和自主决策能力的AI智能体系统。我们将完整展示从智能体架构设计、工具生态系统、记忆机制到多智能体协作的全流程,为Java开发者提供构建下一代自主智能系统的完整技术方案。
818 4

推荐镜像

更多