GitHub 熱門:Python 算法大全,Star 超過(guò) 2 萬(wàn)
4 月 27 日,GitHub 趨勢(shì)榜第 3 位是一個(gè)用 Python 編碼實(shí)現(xiàn)的算法庫(kù),Star 數(shù)早已達(dá)到 26000+

鏈接:https://github.com/TheAlgorithms/Python
這個(gè)庫(kù)涵蓋了多種算法和數(shù)據(jù)結(jié)構(gòu)的介紹,比如:
- 排序算法(冒泡排序、希爾排序、插入排序、桶排序、合并排序、快速排序、堆排序、選擇排序等)、
- 查找算法(線性查找、二分查找、插值查找等)
- 加密算法(凱撒加密、RSA、ROT13 等)
- 機(jī)器學(xué)習(xí)
- 圖
- 數(shù)字圖像處理
- 動(dòng)態(tài)規(guī)劃
- 常見數(shù)據(jù)結(jié)構(gòu)(隊(duì)列、棧、鏈表、樹等)

這個(gè)庫(kù)雖然包括的種類很多,但內(nèi)容其實(shí)分了 2 方面:① 算法的原理簡(jiǎn)介;② 算法的代碼實(shí)現(xiàn);
比如:冒泡算法的 Python 實(shí)現(xiàn)
from __future__ import print_function
def bubble_sort(collection):
"""Pure implementation of bubble sort algorithm in Python
:param collection: some mutable ordered collection with heterogeneous
comparable items inside
:return: the same collection ordered by ascending
Examples:
>>> bubble_sort([0, 5, 3, 2, 2])
[0, 2, 2, 3, 5]
>>> bubble_sort([])
[]
>>> bubble_sort([-2, -5, -45])
[-45, -5, -2]
>>> bubble_sort([-23,0,6,-4,34])
[-23,-4,0,6,34]
"""
length = len(collection)
for i in range(length-1):
swapped = False
for j in range(length-1-i):
if collection[j] > collection[j+1]:
swapped = True
collection[j], collection[j+1] = collection[j+1], collection[j]
if not swapped: break # Stop iteration if the collection is sorted.
return collection
if __name__ == '__main__':
try:
raw_input # Python 2
except NameError:
raw_input = input # Python 3
user_input = raw_input('Enter numbers separated by a comma:').strip()
unsorted = [int(item) for item in user_input.split(',')]
print(*bubble_sort(unsorted), sep=',')
感興趣的童鞋,請(qǐng)收藏:
https://github.com/TheAlgorithms/Python
好了,就給大家介紹到這里吧,希望大家喜歡!
- python 模擬登陸github的示例
- Python基于Webhook實(shí)現(xiàn)github自動(dòng)化部署
- GitHub上值得推薦的8個(gè)python 項(xiàng)目
- Python 通過(guò)爬蟲實(shí)現(xiàn)GitHub網(wǎng)頁(yè)的模擬登錄的示例代碼
- Python3以GitHub為例來(lái)實(shí)現(xiàn)模擬登錄和爬取的實(shí)例講解
- python requests模擬登陸github的實(shí)現(xiàn)方法
- 使用Python快樂(lè)學(xué)數(shù)學(xué)Github萬(wàn)星神器Manim簡(jiǎn)介
- 如何利用Python模擬GitHub登錄詳解
- 使用GitHub和Python實(shí)現(xiàn)持續(xù)部署的方法
- 使用 Python 玩轉(zhuǎn) GitHub 的貢獻(xiàn)板(推薦)
- Python爬蟲使用腳本登錄Github并查看信息
- Python基于identicon庫(kù)創(chuàng)建類似Github上用的頭像功能
- python使用心得之獲得github代碼庫(kù)列表
- 如何用 Python 制作 GitHub 消息助手
相關(guān)文章
pandas創(chuàng)建DataFrame對(duì)象失敗的解決方法
本文主要介紹了pandas創(chuàng)建DataFrame對(duì)象失敗的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
使用Python裝飾器在Django框架下去除冗余代碼的教程
這篇文章主要介紹了使用Python裝飾器在Django框架下去除冗余代碼的教程,主要是處理JSON代碼的一些冗余,需要的朋友可以參考下2015-04-04
關(guān)于Django顯示時(shí)間你應(yīng)該知道的一些問(wèn)題
將Django項(xiàng)目部署到Linux系統(tǒng)上進(jìn)行測(cè)試時(shí),發(fā)現(xiàn)操作記錄的時(shí)間與服務(wù)器的時(shí)間不一致,相差13個(gè)小時(shí)。這主要是因?yàn)闀r(shí)區(qū)的問(wèn)題,下面這篇文章主要總結(jié)介紹了關(guān)于Django顯示時(shí)間你應(yīng)該知道的一些問(wèn)題,需要的朋友可以參考下。2017-12-12
python之生成多層json結(jié)構(gòu)的實(shí)現(xiàn)
今天小編就為大家分享一篇python之生成多層json結(jié)構(gòu)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
Python實(shí)現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)中棧的操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)中棧的操作,包括基于Python實(shí)現(xiàn)棧的定義、入棧、出棧、判斷??栈驐M等情況,需要的朋友可以參考下2017-12-12
Python使用cookielib模塊操作cookie的實(shí)例教程
cookielib模塊經(jīng)常被用來(lái)和urllib等模塊配合來(lái)制作爬蟲或者第三方SNS客戶端等程序,比如這里我們就將舉一個(gè)使用cookie來(lái)發(fā)送登錄信息登錄人人網(wǎng)的例子,well,一起來(lái)看一下Python使用cookielib模塊操作cookie的實(shí)例教程2016-07-07

