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设计模式之代理模式实例
Apr 26 Python
Python字符串格式化的方法(两种)
Sep 19 Python
Python内置函数delattr的具体用法
Nov 23 Python
pandas按若干个列的组合条件筛选数据的方法
Apr 11 Python
详解Python如何生成词云的方法
Jun 01 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
Jul 19 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 Python
keras训练浅层卷积网络并保存和加载模型实例
Jul 02 Python
python+playwright微软自动化工具的使用
Feb 02 Python
python解决OpenCV在读取显示图片的时候闪退的问题
Feb 23 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 Python
讲解Python实例练习逆序输出字符串
May 06 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 HTML代码串截取代码
2008/12/29 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
Javascript 继承机制的实现
2009/08/12 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
JS动态获取当前时间,并写到特定的区域
2013/05/03 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
JS中Object对象的原型概念基础
2018/01/29 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
微信小程序按钮去除边框线分享页面功能
2018/08/27 Javascript
inquirer.js一个用户与命令行交互的工具详解
2019/05/18 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
python数据挖掘需要学的内容
2019/06/23 Python
python3安装crypto出错及解决方法
2019/07/30 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
房地产销售经理岗位职责
2014/01/01 职场文书
列车长先进事迹材料
2014/01/25 职场文书
日本语毕业生自荐信
2014/02/01 职场文书
音乐专业自荐信
2014/02/07 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书