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 相关文章推荐
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
Python提取Linux内核源代码的目录结构实现方法
Jun 24 Python
Python随机生成数据后插入到PostgreSQL
Jul 28 Python
Python中super函数的用法
Nov 17 Python
Python代码缩进和测试模块示例详解
May 07 Python
TensorFlow数据输入的方法示例
Jun 19 Python
使用python实现对元素的长截图功能
Nov 14 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
Mar 30 Python
多个版本的python共存时使用pip的正确做法
Oct 26 Python
python中round函数保留两位小数的方法
Dec 04 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
Jan 22 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 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
php顺序查找和二分查找示例
2014/03/27 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
原生js实现数字字母混合验证码的简单实例
2015/12/10 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
Vue修改项目启动端口号方法
2019/11/07 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
jQuery冲突问题解决方法
2021/01/19 jQuery
Python用GET方法上传文件
2015/03/10 Python
部署Python的框架下的web app的详细教程
2015/04/30 Python
详解Python之unittest单元测试代码
2018/01/24 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
python中update的基本使用方法详解
2019/07/17 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
Python input函数使用实例解析
2019/11/22 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
Python学习笔记之装饰器
2020/08/06 Python
采购人员的个人自我评价
2014/01/16 职场文书
奥巴马的演讲稿
2014/05/15 职场文书
趣味运动会策划方案
2014/06/02 职场文书
电影复兴之路观后感
2015/06/02 职场文书
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL