GitHub近10萬(wàn)星:印度小哥用Python和Java實(shí)現(xiàn)所有AI算法
今天兩個(gè)算法實(shí)現(xiàn)的項(xiàng)目又登上了GitHub熱榜,每逢招聘季必上榜?此前,這兩個(gè)項(xiàng)目曾多次登頂,分別用Python和Java實(shí)現(xiàn)了面試中常考的算法,AI行業(yè)就業(yè)形勢(shì)日趨嚴(yán)峻,而算法崗更是競(jìng)爭(zhēng)激烈,是時(shí)候復(fù)習(xí)一下基本功了!
又到了招聘季。疫情將我們?nèi)υ诩依镞@么長(zhǎng)時(shí)間,以至于都宅廢了!
AI的算法你還記得多少?他們都是如何用Python和Java實(shí)現(xiàn)的?恐怕很多人一下子就慌了。
算法和數(shù)據(jù)結(jié)構(gòu)是每個(gè)算法工程師必備的基礎(chǔ)技能,也是面試必考的內(nèi)容。
最近新智元也分析了AI行業(yè)算法工程師的就業(yè)情況,只能說(shuō)形勢(shì)很嚴(yán)峻!懂算法、會(huì)算法,將成為你求職路上的一個(gè)巨大優(yōu)勢(shì)。
今天為大家推薦的這兩個(gè)項(xiàng)目,分別用Python和Java來(lái)實(shí)現(xiàn)了常用的所有算法,總星數(shù)加起來(lái)快10萬(wàn)了!搞定它們,算法面試環(huán)節(jié)一定能夠?yàn)槟慵臃帧?/p>
              
GitHub超10萬(wàn)星:AI算法的Python和Java實(shí)現(xiàn)
這個(gè)項(xiàng)目主要包括兩部分內(nèi)容。
            
首先是有關(guān)算法的基本原理講解。
這部分包括了常見(jiàn)的所有算法,如排序算法、搜索算法、插值算法、跳躍搜索算法、快速選擇算法、禁忌搜索算法、加密算法等。
每個(gè)算法都給出了詳細(xì)的注釋和使用示例。比如下圖Python算法實(shí)現(xiàn)的項(xiàng)目中,我們以快排為例看一下,有點(diǎn)Python基礎(chǔ)照著敲一遍就能快速理解。
            
難能可貴的是,其中不少算法還在原理講解部分加入了相關(guān)資源鏈接,包括維基百科、甚至動(dòng)畫交互網(wǎng)站鏈接,讓原本抽象的算法變得更加直觀。
比如下面這個(gè)雞尾酒排序算法:
選擇排序算法:
二分查找:
其次,也是本項(xiàng)目的重點(diǎn):各種算法的代碼實(shí)現(xiàn)。
你想了解主流的排序算法?點(diǎn)開(kāi)這個(gè)sorts分類,各種排序算法應(yīng)收盡收。
            
反向傳播
            
圖算法:
            
項(xiàng)目覆蓋范圍很廣,起初只一系列經(jīng)典算法,現(xiàn)在加入了更多的內(nèi)容,比如數(shù)據(jù)抓取、區(qū)塊鏈、數(shù)據(jù)壓縮算法,還新增了量子計(jì)算等前沿領(lǐng)域的分類。
以作者的更新頻率和貢獻(xiàn)者的增長(zhǎng)速度來(lái)看,這個(gè)項(xiàng)目將成長(zhǎng)為Algorithm類目的巨無(wú)霸。
如果你覺(jué)得擼碼太枯燥乏味,又沒(méi)找到可視化的鏈接,那么下面這個(gè)算法可視化項(xiàng)目真的可以解救你。
https://github.com/algorithm-visualizer/algorithm-visualizer
這個(gè)項(xiàng)目目前支持所有算法JavaScript、C++、Java三種語(yǔ)言的實(shí)現(xiàn),你可以在左邊搜索你想學(xué)習(xí)的算法,在右側(cè)控制播放速度,還能實(shí)時(shí)觀察代碼運(yùn)行到了哪一行,當(dāng)然你只想了解算法原理的話看中間的可視化部分就夠了。
            
比如排序算法中的快排和最短路徑搜索算法Dijkstra。
quicksort
Dijkstra
10萬(wàn)星背后,是一位想當(dāng)億萬(wàn)富翁的印度開(kāi)發(fā)小哥
其實(shí)去年這個(gè)時(shí)候,這倆項(xiàng)目加起來(lái)也沒(méi)超過(guò)3萬(wàn)星,今年突然就快10萬(wàn)了!
我們很好奇,一年漲星5萬(wàn)+的項(xiàng)目,是誰(shuí)創(chuàng)立的?于是我們就扒了扒The Algorithms 這個(gè)項(xiàng)目的創(chuàng)始人:Anup Kumar Panwar。

Anup是一個(gè)癡迷于計(jì)算機(jī)的印度tech boy,畢業(yè)于印度一所擁有140年歷史的大學(xué):Panjab(旁遮普)大學(xué)。這是一所比北大還要年紀(jì)大的學(xué)校。
自稱是技術(shù)、創(chuàng)業(yè)和編程愛(ài)好者。還對(duì)網(wǎng)絡(luò)開(kāi)發(fā)、混合型app開(kāi)發(fā)和創(chuàng)新感興趣,曾開(kāi)發(fā)過(guò)一款叫做「Coupon, vouchers and promo codes」的優(yōu)惠券app。
高中時(shí)期就刻意的培養(yǎng)自己的口才,當(dāng)過(guò)head boy(經(jīng)常需要做演講的那種)、布過(guò)科學(xué)展、參加過(guò)辯論隊(duì)。
上了大學(xué)后又開(kāi)始熱衷于研究商業(yè),坦言自己的夢(mèng)想是成為一名優(yōu)秀的程序員和億萬(wàn)富翁。

目前在Gojek公司擔(dān)任產(chǎn)品工程師。Gojek是東南亞按需多服務(wù)平臺(tái)和數(shù)字支付技術(shù)集團(tuán)。最初于2009年在印度尼西亞成立,是一個(gè)呼叫中心,用以將消費(fèi)者與快遞和兩輪叫車服務(wù)聯(lián)系起來(lái),名字源于印尼各地常見(jiàn)的「Ojek」或摩托車出租車。
由此可見(jiàn),夢(mèng)想還是要有的。預(yù)祝各位正在求職的讀者,看完這些算法后能夠順利通過(guò)面試,獲得自己想要的職位。




















 
 
 










 
 
 
 