GitHub近10萬星:印度小哥用Python和Java實現(xiàn)所有AI算法
今天兩個算法實現(xiàn)的項目又登上了GitHub熱榜,每逢招聘季必上榜?此前,這兩個項目曾多次登頂,分別用Python和Java實現(xiàn)了面試中??嫉乃惴?,AI行業(yè)就業(yè)形勢日趨嚴峻,而算法崗更是競爭激烈,是時候復習一下基本功了!
又到了招聘季。疫情將我們?nèi)υ诩依镞@么長時間,以至于都宅廢了!
AI的算法你還記得多少?他們都是如何用Python和Java實現(xiàn)的?恐怕很多人一下子就慌了。
算法和數(shù)據(jù)結構是每個算法工程師必備的基礎技能,也是面試必考的內(nèi)容。
最近新智元也分析了AI行業(yè)算法工程師的就業(yè)情況,只能說形勢很嚴峻!懂算法、會算法,將成為你求職路上的一個巨大優(yōu)勢。
今天為大家推薦的這兩個項目,分別用Python和Java來實現(xiàn)了常用的所有算法,總星數(shù)加起來快10萬了!搞定它們,算法面試環(huán)節(jié)一定能夠為你加分。
GitHub超10萬星:AI算法的Python和Java實現(xiàn)
這個項目主要包括兩部分內(nèi)容。
首先是有關算法的基本原理講解。
這部分包括了常見的所有算法,如排序算法、搜索算法、插值算法、跳躍搜索算法、快速選擇算法、禁忌搜索算法、加密算法等。
每個算法都給出了詳細的注釋和使用示例。比如下圖Python算法實現(xiàn)的項目中,我們以快排為例看一下,有點Python基礎照著敲一遍就能快速理解。
難能可貴的是,其中不少算法還在原理講解部分加入了相關資源鏈接,包括維基百科、甚至動畫交互網(wǎng)站鏈接,讓原本抽象的算法變得更加直觀。
比如下面這個雞尾酒排序算法:
選擇排序算法:
二分查找:
其次,也是本項目的重點:各種算法的代碼實現(xiàn)。
你想了解主流的排序算法?點開這個sorts分類,各種排序算法應收盡收。
反向傳播
圖算法:
項目覆蓋范圍很廣,起初只一系列經(jīng)典算法,現(xiàn)在加入了更多的內(nèi)容,比如數(shù)據(jù)抓取、區(qū)塊鏈、數(shù)據(jù)壓縮算法,還新增了量子計算等前沿領域的分類。
以作者的更新頻率和貢獻者的增長速度來看,這個項目將成長為Algorithm類目的巨無霸。
如果你覺得擼碼太枯燥乏味,又沒找到可視化的鏈接,那么下面這個算法可視化項目真的可以解救你。
https://github.com/algorithm-visualizer/algorithm-visualizer
這個項目目前支持所有算法JavaScript、C++、Java三種語言的實現(xiàn),你可以在左邊搜索你想學習的算法,在右側控制播放速度,還能實時觀察代碼運行到了哪一行,當然你只想了解算法原理的話看中間的可視化部分就夠了。
比如排序算法中的快排和最短路徑搜索算法Dijkstra。
quicksort
Dijkstra
10萬星背后,是一位想當億萬富翁的印度開發(fā)小哥
其實去年這個時候,這倆項目加起來也沒超過3萬星,今年突然就快10萬了!
我們很好奇,一年漲星5萬+的項目,是誰創(chuàng)立的?于是我們就扒了扒The Algorithms 這個項目的創(chuàng)始人:Anup Kumar Panwar。
Anup是一個癡迷于計算機的印度tech boy,畢業(yè)于印度一所擁有140年歷史的大學:Panjab(旁遮普)大學。這是一所比北大還要年紀大的學校。
自稱是技術、創(chuàng)業(yè)和編程愛好者。還對網(wǎng)絡開發(fā)、混合型app開發(fā)和創(chuàng)新感興趣,曾開發(fā)過一款叫做「Coupon, vouchers and promo codes」的優(yōu)惠券app。
高中時期就刻意的培養(yǎng)自己的口才,當過head boy(經(jīng)常需要做演講的那種)、布過科學展、參加過辯論隊。
上了大學后又開始熱衷于研究商業(yè),坦言自己的夢想是成為一名優(yōu)秀的程序員和億萬富翁。
目前在Gojek公司擔任產(chǎn)品工程師。Gojek是東南亞按需多服務平臺和數(shù)字支付技術集團。最初于2009年在印度尼西亞成立,是一個呼叫中心,用以將消費者與快遞和兩輪叫車服務聯(lián)系起來,名字源于印尼各地常見的「Ojek」或摩托車出租車。
由此可見,夢想還是要有的。預祝各位正在求職的讀者,看完這些算法后能夠順利通過面試,獲得自己想要的職位。