GitHub標星2.6萬!Python算法新手入門大全

2021-01-10 量子位

問耕 發自 凹非寺量子位 出品 | 公眾號 QbitAI

今天推薦一個Python學習的乾貨。

幾個印度小哥,在GitHub上建了一個各種Python算法的新手入門大全,現在標星已經超過2.6萬。這個項目主要包括兩部分內容:一是各種算法的基本原理講解,二是各種算法的代碼實現。

簡單介紹下。

算法的基本原理講解部分,包括排序算法、搜索算法、插值算法、跳躍搜索算法、快速選擇算法、禁忌搜索算法、加密算法等。

這部分內容,主要介紹各種不同算法的原理,其中不少介紹還給出了動態示意圖,以更初學者能夠更直觀的理解。搬運幾個示例:

雞尾酒排序算法

雞尾酒(Cocktail shaker)排序,也叫雙向冒泡排序(Bidirectional Bubble Sort)等。這是冒泡排序的一種變體。不同之處在於,冒泡排序是從低到高比較序列裡的每個元素,而雞尾酒排序從兩個方向(低到高、高到低)來回排序,效率更高。

快速選擇算法

快速選擇(Quick Select)算法,用於查找無序列表中的第k個最小元素。這種算法及其變體,是實踐中最常用的高效選擇算法。

快速選擇算法與快速排序算法類似,選擇一個元素作為基準來對元素進行分區,將小於和大於基準的元素分在基準左邊和右邊的兩個區域。不同的是,快速選擇並不遞歸訪問雙邊,而是只遞歸進入一邊的元素中繼續尋找。

ROT13加密算法

Rot13(rotate by 13 places)是一種非常簡單的替換加密算法,用於加密26個英語字母。方法是:把每個字母用其後第13個字母代替。

當然這種算法破解起來也很簡單,只需要反向替換就行,所以這種算法幾乎提供不了什麼加密安全性,並且經常作為弱加密的典型案例。

此外,這個項目還給出了多種Python算法的代碼實現。

包括二叉樹(Binary Tree)、動態規劃(Dynamic Programming)、散列(Hashes)、線性代數、機器學習、神經網絡等。

比方在機器學習這個類別裡,給出了隨機森林分類、隨機森林回歸、樸素貝葉斯、決策樹、k值聚類、線性回歸、邏輯回歸、感知機等。

這裡截個梯度下降代碼實現的圖,做個示意。

希望這個項目對你學習有幫助。

還有一事。

這幾個印度小哥,不僅僅搞了一個學Python的項目,類似的資源收集項目還包括:Java、C、C++、Scala、C#等……

相關焦點

  • Github標星2w+,熱榜第一,如何用Python實現所有算法
    大數據文摘出品編譯:周素雲、蔣寶尚學會了Python基礎知識,想進階一下,那就來點算法吧!畢竟程式語言只是工具,結構算法才是靈魂。新手如何入門Python算法?幾位印度小哥在GitHub上建了一個各種Python算法的新手入門大全。從原理到代碼,全都給你交代清楚了。為了讓新手更加直觀的理解,有的部分還配了動圖。
  • 十六本python入門學習書籍推薦,python入門新手必看
    隨著人工智慧時代的到來,python程式語言一步登天衝到編程排行榜第一名,因此更多朋友想轉行學習python程式語言的朋友,可以一起看一下:python入門新手必看的十六本python入門學習書籍1、python基礎教程司維所著圖書:本書包括Python程序設計的方方面面,首先從Python的安裝開始,隨後介紹了Python的基礎知識和基本概念,
  • 乾貨| 請收下這份2018學習清單:150個最好的機器學習,NLP和Python...
    猛回頭,發現標收藏夾又多了20個資源待我學習(推薦提升效率工具Tab Bundler)。://iamtrask.github.io/2015/07/27/python-network-part2/如何理解梯度下降算法?
  • python入門書籍推薦
    今天給大家分享一下python的入門書籍。筆者曾經讀書的時候,對編程特別感興趣,可是我本身不是學計算機的,所以編程只能看視頻自學。那時候,我接觸到的第一門語言是C++,就是學了很久,但是這門語言太過深奧,我學了幾個月,連一些基本的圖形開發也實現不了,後來,我就放棄編程了。
  • Github星標85K的性能優化法則聖經
    OpenJDK是Java平臺的免費軟體實現,已通過GPL v2許可。 (有關更多信息,請參見Wikipedia上的免費Java實現 。)  入門   性能優化取決於多種因素,包括垃圾收集,虛擬機和基礎作業系統(OS)設置。 開發人員可以使用多種工具來進行分析和優化,並且可以閱讀Java工具進行原始碼優化和分析以了解其中的一些工具 。
  • 史丹福大學教授推薦兩本Python入門書籍
    今天給大家分享自己學習的python的入門書籍。曾經我們讀書的時候,對編程能力特別感興趣,可是我本身發展不是學計算機的,所以進行編程技術只能看視頻通過自學。在後來偶然因素之間相互接觸了解到python這門專業語言,給我打開了一扇新的大門。因為python實在太簡單了,直接在命令行打」1+1「,回車就出來結果了,交互性也是非常強。而且python有大量研究第三方的庫,我要科學理論計算就要用到,雖然我不知道代碼管理內部環境怎麼編寫的,我只要給這些參數就能不斷得到提高實驗分析結果。對於我這種編程小白來說解決問題是最重要的。
  • Python科學計算入門書籍推薦
    話說回來,這近些日子,隨著機器學習的熱潮,python也算是程序界的蒂花之秀了,幾乎到處都能看到它的聲影。算下來,我也有「幾乎4年」的python開發時間了,期間還使用python來參加全國研究生數學建模比賽並連續兩年拿到了國二。都說python入門簡單,網上也有很多學習資源。但是大多數都比較亂,沒有一個明確的順序和方向。
  • Python開發簡單爬蟲【學習資料總結】
    語言基礎:(帶你熟悉python語言的特性,學會使用python開發環境,使用python開發一些簡單的案例) (1)Python3入門,數據類型,字符串 (2)判斷/循環語句,函數, (3)類與對象,繼承,多態 (4)tkinter界面編程
  • 100多本Python書,免費下載
    Lott (Python 2.6, PDF)http://www.itmaybeahack.com/book/python-2.6/latex/BuildingSkillsinPython.pdfByte of Python – Swaroop C. H.
  • 想快速入門NLP?我們測評了15門最火課程,幫你找到最適合的
    對新手來說,我並不推薦這門課程,因為它缺少太多內容。Edx-Natural Language Processing Course課程連結:http://www.edx.org/course/natural-language-processing-nlp-2授課方:微軟專業評分:7/10我的建議:這門課程介紹了機器學習和NLP領域中可使用的各種方法,你不光能學到經典算法
  • 起薪2萬的爬蟲工程師,Python需要學到什麼程度才可以就業?
    起薪2萬的爬蟲工程師,Python需要學到什麼程度才可以就業? 爬蟲工程師的的薪資為20K起,當然,因為大數據,薪資也將一路上揚。那麼,Python需要學到什麼程度呢?今天我們來看看3位前輩的回答。
  • python之父:小學生都用這本書學python,堪稱python入門教科書
    入門教科書  眾所周知,python的特點就是:簡單、入門快、工資高、工作選擇多,但是雖然是一門最快入門的程式語言,對於沒有接觸過編程的人來說還是有一定的難度,在眾多python學習書籍中,能稱為教科書的實在不多!
  • 車道線檢測算法UFLD
    車道線檢測算法TensorRT加速唯一不能忍的是,PiNet算法後處理部分。原作者用python2的代碼寫的後處理,運行時間賊長,比cnn部分的forward時間都要多。想將此部分python代碼轉為c++實現,奈何太過於複雜,還不如自己重頭擼一個,放棄了。。。今天研究了一下最新開源的UFLD算法。
  • python常用英語單詞詞彙 unit6
    1. python tutorial python入門指南、python教程2. Development Version開發版3. development environment 開發環境;研發環境4. stable version 穩定版本5.
  • Github高贊:給文字打馬賽克=形同虛設,AI看透你一切小心思
    而任何此個開源項目的使用者,簡簡單單使用以下指令,就可以恢復你想「窺探」的文字內容:python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png
  • 學習python必備暢銷書排行榜top5書單
    所以,掌握一門python語言也是一種不錯的選擇。本文將從零基礎到高級精通,說說學習python必備的暢銷書,top1:《python編程從入門到實踐》,對於初學者來說,每次都是從入門到放棄,那是因為有些書編寫的學習方法路線不合理,或者實戰案例太少,也容易讓人不知所用。
  • GitHub重新上架星標7.2萬熱門開源項目YouTube-dl,是...
    更重要的是,GitHub為了應對未來可能出現的訴訟,還撥款100萬美元設立了專項基金會。該基金會主要目的是幫助保護平臺上的開發者免受第1201條款的不利指控,並防止此類事件的再次發生。最後,GitHub也強調,他們將繼續遊說工作,以期能夠修改DMCA,尤其是1201條款。
  • 奇幻射擊2新手要注意什麼 新手入門攻略分享
    導 讀 奇幻射擊2中萌新剛入門要注意什麼?今天小編就跟萌新們分享入門要注意什麼,希望對萌新大大們有幫助。
  • 靈魂島荒島創世新手入門怎麼玩 新手入門攻略大全
    導 讀 靈魂島荒島創世是一款非常好玩的rpg手遊,許多玩家在前期不知道怎麼玩,需要注意什麼呢,下面九遊小編為大家帶來靈魂島荒島創世新手入門少走彎路。
  • 動物園之星新手攻略大全
    動物選擇與收益 小編今天給各位玩家朋友們帶來的是動物園之星新手攻略大全,動物園之星的遊戲中新手應該怎麼玩呢?新手經營有什麼訣竅呢?相信很多的玩家朋友們都有此疑問,小編給各位玩家朋友們整理匯總了一下,感興趣的小夥伴們快來跟小編一起往下看看吧!