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中编写并发程序
Feb 27 Python
python中如何使用正则表达式的集合字符示例
Oct 09 Python
python 连接各类主流数据库的实例代码
Jan 30 Python
python指定写入文件时的编码格式方法
Jun 07 Python
PyCharm代码提示忽略大小写设置方法
Oct 28 Python
pygame游戏之旅 游戏中添加显示文字
Nov 20 Python
Django获取应用下的所有models的例子
Aug 30 Python
Python箱型图处理离群点的例子
Dec 09 Python
使用Matplotlib 绘制精美的数学图形例子
Dec 13 Python
python实现按日期归档文件
Jan 30 Python
Python 文字识别
May 11 Python
Golang Web 框架Iris安装部署
Aug 14 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操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
php中session退出登陆问题
2014/02/27 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
让焦点自动跳转
2006/07/01 Javascript
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
JQueryEasyUI datagrid框架的进阶使用
2013/04/08 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
JS实现slide文字框缩放伸展效果代码
2015/11/05 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
Python 调用DLL操作抄表机
2009/01/12 Python
Python中bisect的用法
2014/09/23 Python
详解Django框架中用context来解析模板的方法
2015/07/20 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
自考生自我评价分享
2014/01/18 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
有关环保的标语
2014/06/13 职场文书
工作失职造成投诉的检讨书范文
2014/10/05 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
初中生毕业评语
2014/12/29 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
2016新年年会主持词
2015/07/06 职场文书