Python-pygorithm的使用
来源:互联网 发布:支持网络连接的电视 编辑:程序博客网 时间:2024/06/03 22:41
pygorithm:一个用纯粹python编写的Python模块,用于纯粹的教育目的。只需导入所需的算法即可获取代码,时间复杂度等等。开始学习Python编程的好方法。了解Python中所有主要算法的实现。不需要上网就可以获得所需的代码。
安装
pip3 install pygorithm
常见函数
- 斐波那契数列
from pygorithm.fibonacci import recursionresult = 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 lcmresult = lcm.lcm([4,6])print(result) # 12code = lcm.get_code() # 获取实现函数的算法print(code)
- 质数算法
from pygorithm.math import sieve_of_eratosthenesresult = sieve_of_eratosthenes.sieve_of_eratosthenes(10) # 获取小于10的质数print(result) # [2,3,5,7]code = lcm.get_code() # 获取实现函数的算法print(code)
- 阶乘
from pygorithm.math import factorialresult = factorial.factorial(5) # 获取5的阶乘,即1*2*3*4*5print(result) # 120code = factorial.get_code() # 获取实现函数的算法print(code)
- 十进制转二进制
from pygorithm.math import conversionresult = conversion.decimal_to_binary(3) # 将3转换为二进制print(result) # 11code = conversion.get_code() # 获取实现函数的算法print(code)
- 二进制转十进制
from pygorithm.math import conversionresult = conversion.binary_to_decimal(11) # 将11转换为十进制print(result) # 3code = conversion.get_code() # 获取实现函数的算法print(code)
- 十进制转十六进制
from pygorithm.math import conversionresult = conversion.decimal_to_hex(15) # 将15转换为十六进制数print(result) # Fcode = conversion.get_code() # 获取实现函数的算法print(code)
- 十六进制转十进制
from pygorithm.math import conversionresult = conversion.hex_to_decimal("F") # 将十六进制F转化为十进制数print(result) # 15code = conversion.get_code() # 获取实现函数的算法print(code)
- 二分法搜索:效率高
from pygorithm.searching import binary_searchl = [9,4,5,1,7]index = binary_search.search(l,5) # 获取5在列表中的位置,找到返回下标,找不到返回Falseprint(index)code = binary_search.get_code() # 获取实现函数的算法print(code)
- 线性搜索:速度慢,适用性广
from pygorithm.searching import linear_searchl = [9,4,5,1,7]index = linear_search.search(l,5) # 获取5在列表中的位置,找到返回下标,找不到返回Falseprint(index)code = linear_search.get_code() # 获取实现函数的算法print(code)
- 插值搜索:注意:列表必须先经过升序排序,否则将找不到
from pygorithm.searching import interpolation_searchl = [1,4,5,7,9]index = interpolation_search.search(l,4) # 获取5在列表中的位置,找到返回下标,找不到返回Falseprint(index)code = interpolation.get_code() # 获取实现函数的算法print(code)
- 冒泡排序
from pygorithm.sorting import bubble_sortl = [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_sortl = [9,4,5,1,7]result = bubble_sort.improved_sort(l)print(result) # [1, 4, 5, 7, 9]
- 桶排序
from pygorithm.sorting import bucket_sortl = [9,4,5,1,7]result = bucket_sort.sort(l,5) # 5为桶的大小,默认为5print(result) # [1, 4, 5, 7, 9]code = bucket_sort.get_code() # 获取实现函数的算法print(code)
- 计数排序
from pygorithm.sorting import counting_sortl = [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_sortl = [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_sortl = [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_sortl = [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_sortl = [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_sortl = [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_sortl = [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
阅读全文
0 0
- Python-pygorithm的使用
- pygorithm: 一个用于学习重要算法的Python模块
- 【python】python的unittest使用
- 使用Python的理由
- python Eric 的使用
- Python:decorator的使用
- Python异常的使用
- python unitest 的使用
- python itertools的使用
- boost python的使用
- dbus-Python的使用
- python数组的使用
- Python ConfigParser的使用
- python@符号的使用
- Python ConfigParser的使用
- python getopt的使用
- python itertools的使用
- python的lambda使用
- Python中sorted函数的用法
- 微信公众号授权及多公众号配置
- activiti 表相关
- Android_动态加载Fragment
- FaceBoxes —— CPU上实时的人脸检测
- Python-pygorithm的使用
- iOS开发中微信支付集成
- 理解 JavaScript 的 async/await
- iOS自动打包并发布IPA脚本
- layui框架问题总结(点击按钮为select添加option选项)
- Android---OkHttp
- dataguard 主备切换
- Linux之 手动释放内存
- Linux VNC server的安装及简单配置使用