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实现微信公众平台自定义菜单实例
Mar 20 Python
Python中的defaultdict模块和namedtuple模块的简单入门指南
Apr 01 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
Apr 16 Python
python用10行代码实现对黄色图片的检测功能
Aug 10 Python
Python3实现简单可学习的手写体识别(实例讲解)
Oct 21 Python
numpy.random.seed()的使用实例解析
Feb 03 Python
对python创建及引用动态变量名的示例讲解
Nov 10 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 Python
Tornado实现多进程/多线程的HTTP服务详解
Jul 25 Python
python-Web-flask-视图内容和模板知识点西宁街
Aug 23 Python
python安装scipy的步骤解析
Sep 28 Python
Pandas操作CSV文件的读写实现方法
Nov 13 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
async和DOM Script文件加载比较
2014/07/20 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
对pandas的dataframe绘图并保存的实现方法
2017/08/05 Python
Django中Forms的使用代码解析
2018/02/10 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
详解python中的数据类型和控制流
2019/08/08 Python
python实现广度优先搜索过程解析
2019/10/19 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
麦当劳印度网上订餐:McDelivery
2020/03/16 全球购物
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
小学教师的自我评价范例
2013/10/31 职场文书
毕业自我评价
2014/02/05 职场文书
团日活动总结
2014/04/28 职场文书
兴趣小组活动总结
2014/05/05 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
歌咏比赛主持词
2015/06/29 职场文书
Golang中channel的原理解读(推荐)
2021/10/16 Golang
利用Python多线程实现图片下载器
2022/03/25 Python