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 11 Python
python开发利器之ulipad的使用实践
Mar 16 Python
python实现数据图表
Jul 29 Python
Python使用jsonpath-rw模块处理Json对象操作示例
Jul 31 Python
python实现停车管理系统
Nov 30 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
Jan 07 Python
Python语言检测模块langid和langdetect的使用实例
Feb 19 Python
python远程连接MySQL数据库
Apr 19 Python
python 实现list或string按指定分段
Dec 25 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
Jan 18 Python
Django的ListView超详细用法(含分页paginate)
May 21 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 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
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
python 接口_从协议到抽象基类详解
2017/08/24 Python
Python实现购物车功能的方法分析
2017/11/10 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
python实现扫描日志关键字的示例
2018/04/28 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
建龙钢铁面试总结
2014/04/15 面试题
外语专业毕业生个人的自荐信
2013/11/19 职场文书
校园活动宣传方案
2014/03/28 职场文书
心理学专业求职信
2014/06/16 职场文书
班级心理活动总结
2014/07/04 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
小学优秀教师材料
2014/12/15 职场文书
电影雷锋观后感
2015/06/10 职场文书
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript
go开发alertmanger实现钉钉报警
2021/07/16 Golang
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis
MySQL索引失效场景及解决方案
2022/07/23 MySQL