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

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

這個庫雖然包括的種類很多,但內(nèi)容其實分了 2 方面:① 算法的原理簡介;② 算法的代碼實現(xiàn);
比如:冒泡算法的 Python 實現(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=',')
感興趣的童鞋,請收藏:
https://github.com/TheAlgorithms/Python
好了,就給大家介紹到這里吧,希望大家喜歡!
- python 模擬登陸github的示例
- Python基于Webhook實現(xiàn)github自動化部署
- GitHub上值得推薦的8個python 項目
- Python 通過爬蟲實現(xiàn)GitHub網(wǎng)頁的模擬登錄的示例代碼
- Python3以GitHub為例來實現(xiàn)模擬登錄和爬取的實例講解
- python requests模擬登陸github的實現(xiàn)方法
- 使用Python快樂學(xué)數(shù)學(xué)Github萬星神器Manim簡介
- 如何利用Python模擬GitHub登錄詳解
- 使用GitHub和Python實現(xiàn)持續(xù)部署的方法
- 使用 Python 玩轉(zhuǎn) GitHub 的貢獻(xiàn)板(推薦)
- Python爬蟲使用腳本登錄Github并查看信息
- Python基于identicon庫創(chuàng)建類似Github上用的頭像功能
- python使用心得之獲得github代碼庫列表
- 如何用 Python 制作 GitHub 消息助手
相關(guān)文章
pandas創(chuàng)建DataFrame對象失敗的解決方法
本文主要介紹了pandas創(chuàng)建DataFrame對象失敗的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
使用Python裝飾器在Django框架下去除冗余代碼的教程
這篇文章主要介紹了使用Python裝飾器在Django框架下去除冗余代碼的教程,主要是處理JSON代碼的一些冗余,需要的朋友可以參考下2015-04-04
關(guān)于Django顯示時間你應(yīng)該知道的一些問題
將Django項目部署到Linux系統(tǒng)上進(jìn)行測試時,發(fā)現(xiàn)操作記錄的時間與服務(wù)器的時間不一致,相差13個小時。這主要是因為時區(qū)的問題,下面這篇文章主要總結(jié)介紹了關(guān)于Django顯示時間你應(yīng)該知道的一些問題,需要的朋友可以參考下。2017-12-12
python之生成多層json結(jié)構(gòu)的實現(xiàn)
今天小編就為大家分享一篇python之生成多層json結(jié)構(gòu)的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python實現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)中棧的操作示例
這篇文章主要介紹了Python實現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)中棧的操作,包括基于Python實現(xiàn)棧的定義、入棧、出棧、判斷??栈驐M等情況,需要的朋友可以參考下2017-12-12
Python使用cookielib模塊操作cookie的實例教程
cookielib模塊經(jīng)常被用來和urllib等模塊配合來制作爬蟲或者第三方SNS客戶端等程序,比如這里我們就將舉一個使用cookie來發(fā)送登錄信息登錄人人網(wǎng)的例子,well,一起來看一下Python使用cookielib模塊操作cookie的實例教程2016-07-07

