GitHub 热门:Python 算法大全,Star 超过 2 万


Posted in Python onApril 29, 2019

4 月 27 日,GitHub 趋势榜第 3 位是一个用 Python 编码实现的算法库,Star 数早已达到 26000+

GitHub 热门:Python 算法大全,Star 超过 2 万

链接:https://github.com/TheAlgorithms/Python

这个库涵盖了多种算法和数据结构的介绍,比如:

  • 排序算法(冒泡排序、希尔排序、插入排序、桶排序、合并排序、快速排序、堆排序、选择排序等)、
  • 查找算法(线性查找、二分查找、插值查找等)
  • 加密算法(凯撒加密、RSA、ROT13 等)
  • 机器学习
  • 数字图像处理
  • 动态规划
  • 常见数据结构(队列、栈、链表、树等)

GitHub 热门:Python 算法大全,Star 超过 2 万

这个库虽然包括的种类很多,但内容其实分了 2 方面:① 算法的原理简介;② 算法的代码实现;

比如:冒泡算法的 Python 实现

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 相关文章推荐
Python采用raw_input读取输入值的方法
Aug 18 Python
python下paramiko模块实现ssh连接登录Linux服务器
Jun 03 Python
Python字典,函数,全局变量代码解析
Dec 18 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
python脚本实现验证码识别
Jun 07 Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 Python
基于Python打造账号共享浏览器功能
May 30 Python
Python利用sqlacodegen自动生成ORM实体类示例
Jun 04 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
Jul 19 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
浅谈django不使用restframework自定义接口与使用的区别
Jul 15 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
python实现nao机器人手臂动作控制
Apr 29 #Python
python机器人运动范围问题的解答
Apr 29 #Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
Apr 29 #Python
Python 实现微信防撤回功能
Apr 29 #Python
python程序控制NAO机器人行走
Apr 29 #Python
Django web框架使用url path name详解
Apr 29 #Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 #Python
You might like
第四节--构造函数和析构函数
2006/11/16 PHP
php下使用SMTP发邮件的代码
2008/01/10 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
js 通用订单代码
2013/12/23 Javascript
javascript的数组和常用函数详解
2014/05/09 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
jQuery限制图片大小的方法
2016/05/25 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
Textarea输入字数限制实例(兼容iOS&安卓)
2017/07/06 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
django将数组传递给前台模板的方法
2019/08/06 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
英文自荐信格式
2013/11/28 职场文书
活动倡议书范文
2014/05/13 职场文书
希特勒的演讲稿
2014/05/23 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
工程部经理岗位职责
2015/02/02 职场文书
导游词之长城八达岭
2019/09/24 职场文书
浅谈JS的二进制家族
2021/05/09 Javascript
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS
Java实现简单小画板
2022/06/10 Java/Android