Python pygorithm模块用法示例【常见算法测试】


Posted in Python onAugust 16, 2018

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

pygorithm:一个用纯粹python编写的Python模块,用于纯粹的教育目的。只需导入所需的算法即可获取代码,时间复杂度等等。开始学习Python编程的好方法。了解Python中所有主要算法的实现。不需要上网就可以获得所需的代码。

安装

pip3 install pygorithm

常见函数

斐波那契数列

from pygorithm.fibonacci import recursion
result = recursion.get_sequence(10)
print(result)    # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
code = recursion.get_code()   # 获取实现函数的算法
print(code)

获取最小公倍数

from pygorithm.math import lcm
result = lcm.lcm([4,6])
print(result)    # 12
code = lcm.get_code()      # 获取实现函数的算法
print(code)

质数算法

from pygorithm.math import sieve_of_eratosthenes
result = sieve_of_eratosthenes.sieve_of_eratosthenes(10)  # 获取小于10的质数
print(result)    # [2,3,5,7]
code = lcm.get_code()      # 获取实现函数的算法
print(code)

阶乘

from pygorithm.math import factorial
result = factorial.factorial(5)   # 获取5的阶乘,即1*2*3*4*5
print(result)    # 120
code = factorial.get_code()   # 获取实现函数的算法
print(code)

十进制转二进制

from pygorithm.math import conversion
result = conversion.decimal_to_binary(3)  # 将3转换为二进制
print(result)    # 11
code = conversion.get_code()  # 获取实现函数的算法
print(code)

二进制转十进制

from pygorithm.math import conversion
result = conversion.binary_to_decimal(11)  # 将11转换为十进制
print(result)    # 3
code = conversion.get_code()  # 获取实现函数的算法
print(code)

十进制转十六进制

from pygorithm.math import conversion
result = conversion.decimal_to_hex(15)   # 将15转换为十六进制数
print(result)    # F
code = conversion.get_code()  # 获取实现函数的算法
print(code)

十六进制转十进制

from pygorithm.math import conversion
result = conversion.hex_to_decimal("F")   # 将十六进制F转化为十进制数
print(result)    # 15
code = conversion.get_code()  # 获取实现函数的算法
print(code)

二分法搜索:效率高

from pygorithm.searching import binary_search
l = [9,4,5,1,7]
index = binary_search.search(l,5)   # 获取5在列表中的位置,找到返回下标,找不到返回False
print(index)
code = binary_search.get_code() # 获取实现函数的算法
print(code)

线性搜索:速度慢,适用性广

from pygorithm.searching import linear_search
l = [9,4,5,1,7]
index = linear_search.search(l,5)    # 获取5在列表中的位置,找到返回下标,找不到返回False
print(index)
code = linear_search.get_code() # 获取实现函数的算法
print(code)

插值搜索:注意:列表必须先经过升序排序,否则将找不到

from pygorithm.searching import interpolation_search
l = [1,4,5,7,9]
index = interpolation_search.search(l,4)  # 获取5在列表中的位置,找到返回下标,找不到返回False
print(index)
code = interpolation.get_code() # 获取实现函数的算法
print(code)

冒泡排序

from pygorithm.sorting import bubble_sort
l = [9,4,5,1,7]
result = bubble_sort.sort(l)
print(result)    # [1, 4, 5, 7, 9]
code = bubble_sort.get_code()  # 获取实现函数的算法
print(code)

改良冒泡排序

from pygorithm.sorting import bubble_sort
l = [9,4,5,1,7]
result = bubble_sort.improved_sort(l)
print(result)    # [1, 4, 5, 7, 9]

桶排序

from pygorithm.sorting import bucket_sort
l = [9,4,5,1,7]
result = bucket_sort.sort(l,5) # 5为桶的大小,默认为5
print(result)    # [1, 4, 5, 7, 9]
code = bucket_sort.get_code()  # 获取实现函数的算法
print(code)

计数排序

from pygorithm.sorting import counting_sort
l = [9,4,5,1,7]
result = counting_sort.sort(l) 
print(result)    # [1, 4, 5, 7, 9]
code = counting_sort.get_code() # 获取实现函数的算法
print(code)

堆排序

from pygorithm.sorting import heap_sort
l = [9,4,5,1,7]
result = heap_sort.sort(l)
print(result)    # [1, 4, 5, 7, 9]
code = heap_sort.get_code()   # 获取实现函数的算法
print(code)

插入排序

from pygorithm.sorting import insertion_sort
l = [9,4,5,1,7]
result = insertion_sort(l)
print(result)    # [1, 4, 5, 7, 9]
code = insertion_sort.get_code()  # 获取实现函数的算法
print(code)

归并排序

from pygorithm.sorting import merge_sort
l = [9,4,5,1,7]
result = merge_sort.sort(l)
print(result)    # [1, 4, 5, 7, 9]
code = merge_sort.get_code()    # 获取实现函数的算法
print(code)

快速排序

from pygorithm.sorting import quick_sort
l = [9,4,5,1,7]
result = quick_sort.sort(l)
print(result)    # [1, 4, 5, 7, 9]
code = quick_sort.get_code()    # 获取实现函数的算法
print(code)

选择排序

from pygorithm.sorting import selection_sort
l = [9,4,5,1,7]
result = selection_sort.sort(l)
print(result)    # [1, 4, 5, 7, 9]
code = selection_sort.get_code()  # 获取实现函数的算法
print(code)

希尔排序

from pygorithm.sorting import shell_sort
l = [9,4,5,1,7]
result = shell_sort.sort(l)
print(result)    # [1, 4, 5, 7, 9]
code = shell_sort.get_code()    # 获取实现函数的算法
print(code)

更多经典算法: http://pygorithm.readthedocs.io/en/latest/index.html

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

Python 相关文章推荐
Python通过解析网页实现看报程序的方法
Aug 04 Python
Python psutil模块简单使用实例
Apr 28 Python
Python保存MongoDB上的文件到本地的方法
Mar 16 Python
Python 提取dict转换为xml/json/table并输出的实现代码
Aug 28 Python
使用 Python 实现微信公众号粉丝迁移流程
Jan 03 Python
PyCharm安装第三方库如Requests的图文教程
May 18 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
简单了解Python matplotlib线的属性
Jun 29 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
用Python进行栅格数据的分区统计和批量提取
May 27 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
Centos下实现安装Python3.6和Python2共存
Aug 15 #Python
You might like
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
php addslashes和mysql_real_escape_string
2010/01/24 PHP
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
php中上传文件的的解决方案
2018/09/25 PHP
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
JS实现拖动示例代码
2013/11/01 Javascript
jquery移动节点实例
2015/01/14 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
JS多文件上传的实例代码
2017/01/11 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
python实现rest请求api示例
2014/04/22 Python
python使用Tkinter显示网络图片的方法
2015/04/24 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
python实现贪吃蛇游戏
2020/03/21 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
如何利用python进行时间序列分析
2020/08/04 Python
英国最大的奢侈品零售网络商城:Flannels
2016/09/16 全球购物
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
英国蛋糕装饰用品一站式商店:Craft Company
2019/03/18 全球购物
企业安全生产演讲稿
2014/05/09 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
预备党员考察意见范文
2015/06/01 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python