Python用于学习重要算法的模块pygorithm实例浅析


Posted in Python onAugust 16, 2018

本文实例讲述了Python用于学习重要算法的模块pygorithm。分享给大家供大家参考,具体如下:

这是一个能够随时学习重要算法的Python模块,纯粹是为了教学使用。

特点

  • 易于使用
  • 容易理解的文档
  • 快速获取算法的源代码
  • 随时获取时间复杂度

安装

  • 仅需在终端中执行以下命令:
pip3 install pygorithm

*如果你使用的是Python 2.7,请使用pip来安装。如果存在用户权限的限制,你可能需要使用pip install --user pygorithm这个命令来安装。

  • 或者你可以在这里下载源代码,然后通过以下命令来安装:
python setup.py install

快速入门

  • 对列表进行排序
from pygorithm.sorting import bubble_sort
myList = [12, 4, 3, 5, 13, 1, 17, 19, 15]
sortedList = bubble_sort.sort(myList)
print(sortedList)

运行结果:

[1, 3, 4, 5, 12, 13, 15, 17, 19]

  • 获取当前所用函数的源代码
from pygorithm.sorting import bubble_sort
code = bubble_sort.get_code()
print(code)

运行结果:

def sort(_list):
    """
    Bubble Sorting algorithm

    :param _list: list of values to sort
    :return: sorted values
    """
    for i in range(len(_list)):
        for j in range(len(_list) - 1, i, -1):
            if _list[j] < _list[j - 1]:
                _list[j], _list[j - 1] = _list[j - 1], _list[j]
    return _list

  • 计算某个算法的时间复杂度
from pygorithm.sorting import bubble_sort
time_complexity = bubble_sort.time_complexities()
print(time_complexity)

运行结果:

Best Case: O(n), Average Case: O(n ^ 2), Worst Case: O(n ^ 2).

For Improved Bubble Sort:
Best Case: O(n); Average Case: O(n * (n - 1) / 4); Worst Case: O(n ^ 2)

  • 查看模块中所有有效的函数。例如,如果你想看看排序模块中所有的排序方法,可以执行以下命令:
>>> from pygorithm.sorting import modules
>>> modules()
['bubble_sort', 'bucket_sort', 'counting_sort', 'heap_sort', 'insertion_sort', 'merge_sort', 'quick_sort', 'selection_sort', 'shell_sort']

测试

执行以下命令来运行所有的测试用例:

python3 -m unittest

这将运行tests/目录下的文件中定义的所有测试用例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python使用reportlab画图示例(含中文汉字)
Dec 03 Python
python使用clear方法清除字典内全部数据实例
Jul 11 Python
Python的净值数据接口调用示例分享
Mar 15 Python
利用Python2下载单张图片与爬取网页图片实例代码
Dec 25 Python
python实现图书馆研习室自动预约功能
Apr 27 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
Jul 15 Python
Python爬取365好书中小说代码实例
Feb 28 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
Apr 08 Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
详解基于python的图像Gabor变换及特征提取
Oct 26 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
Nov 28 Python
Python pygorithm模块用法示例【常见算法测试】
Aug 16 #Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
Aug 16 #Python
Python使用pickle模块储存对象操作示例
Aug 15 #Python
Linux下多个Python版本安装教程
Aug 15 #Python
Python并发之多进程的方法实例代码
Aug 15 #Python
Python使用sort和class实现的多级排序功能示例
Aug 15 #Python
Python常见排序操作示例【字典、列表、指定元素等】
Aug 15 #Python
You might like
PHP的FTP学习(四)
2006/10/09 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
JS获取IP、MAC和主机名的五种方法
2013/11/14 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
bootstrap datetimepicker2.3.11时间插件使用
2016/11/19 Javascript
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
详解vue中引入stylus及报错解决方法
2017/09/22 Javascript
Vue中用props给data赋初始值遇到的问题解决
2018/11/27 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
跟老齐学Python之数据类型总结
2014/09/24 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
opencv python 2D直方图的示例代码
2018/07/20 Python
Python基础之文件读取的讲解
2019/02/16 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
Kali Linux安装ipython2 和 ipython3的方法
2019/07/11 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
Python3 hashlib密码散列算法原理详解
2020/03/30 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
全球领先的美容用品专卖店:Beauty Plus Salon
2018/09/04 全球购物
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
专题民主生活会对照检查材料思想汇报
2014/09/29 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python