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读取图片EXIF信息类库介绍和使用实例
Jul 10 Python
python根据时间生成mongodb的ObjectId的方法
Mar 13 Python
pyenv命令管理多个Python版本
Mar 26 Python
python实现八大排序算法(2)
Sep 14 Python
500行Python代码打造刷脸考勤系统
Jun 03 Python
给大家整理了19个pythonic的编程习惯(小结)
Sep 25 Python
python抓取多种类型的页面方法实例
Nov 20 Python
python实现把两个二维array叠加成三维array示例
Nov 29 Python
如何基于线程池提升request模块效率
Apr 18 Python
Python 在函数上添加包装器
Jul 28 Python
详解Django中异步任务之django-celery
Nov 05 Python
Python爬取某平台短视频的方法
Feb 08 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 实现多服务器共享 SESSION 数据
2009/08/15 PHP
PHP 数组遍历顺序理解
2009/09/09 PHP
修改Laravel5.3中的路由文件与路径
2016/08/10 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
TBCompressor js代码压缩
2011/01/05 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
jQuery实现的简单百分比进度条效果示例
2016/08/01 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
Python修改文件往指定行插入内容的实例
2019/01/30 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
python基于event实现线程间通信控制
2020/01/13 Python
使用python3 实现插入数据到mysql
2020/03/02 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
P D PAOLA意大利官网:西班牙著名的珠宝首饰品牌
2019/09/24 全球购物
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
女大学生毕业找工作的自我评价
2013/10/03 职场文书
老师自我鉴定范文
2013/12/25 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
公司会议开幕词
2015/01/29 职场文书
道歉情书大全
2015/05/12 职场文书