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对文件操作知识汇总
May 15 Python
Python及PyCharm下载与安装教程
Nov 18 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
Django配置celery(非djcelery)执行异步任务和定时任务
Jul 16 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
Python元组知识点总结
Feb 18 Python
python画微信表情符的实例代码
Oct 09 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
python实现高斯投影正反算方式
Jan 17 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
Feb 07 Python
Python实现Excel文件的合并(以新冠疫情数据为例)
Mar 20 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中常用数组处理方法实例分析
2008/08/30 PHP
php 什么是PEAR?(第三篇)
2009/03/19 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
javascript复制对象使用说明
2011/06/28 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
2014/02/11 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
jQuery实现瀑布流的取巧做法分享
2015/01/12 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
layui.js实现的表单验证功能示例
2017/11/15 Javascript
React中的render何时执行过程
2018/04/13 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
vue+element项目中过滤输入框特殊字符小结
2019/08/07 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
numpy排序与集合运算用法示例
2017/12/15 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
Python中return self的用法详解
2018/07/27 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
2014教师党员自我评议(5篇)
2014/09/20 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
领导干部失职检讨书
2015/05/05 职场文书
同意离婚答辩状
2015/05/22 职场文书
golang中的并发和并行
2021/05/08 Golang
python元组打包和解包过程详解
2021/08/02 Python
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python