4月27日,GitHub趋势榜第3位是一个用Python编码实现的算法库,星数早已达到26000 +
链接:https://github.com/TheAlgorithms/Python
这个库涵盖了多种算法和数据结构的介绍,比如:
-
<李>排序算法(冒泡排序,希尔排序,插入排序,桶排序,合并排序,快速排序,堆排序,选择排序等),李>
<李>查找算法(线性查找,二分查找,插值查找等)李>
<李>加密算法(凯撒加密,RSA, ROT13等)李>
<李>机器学习李>
<李>图李>
<李>数字图像处理李>
<李>动态规划李>
<李>常见数据结构(队列,栈,链表,树等)李>
这个库虽然包括的种类很多,但内容其实分了2个方面:①算法的原理简介;②算法的代码实现;
<强>比如:冒泡算法的Python实现强>
从__future__进口print_function def bubble_sort(集合): ”““纯Python中冒泡排序算法的实现 :param集合:一些与异构可变的有序集合 类似的项目里面 返回:同样的提升下令集合 例子: 在在在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) ”“” 长度=len(集合) 我的范围(长度为1): 交换=False j的范围(length-1-i): 如果集合[j]比;集合[j + 1]: 交换=True 集合集合[j], [j + 1]=[j + 1]集合,集合[j] 如果没有交换:打破#停止迭代如果集合进行排序。 返回集合 if __name__==癬_main__”: 试一试: raw_input # Python 2 除了NameError: 输入# Python 3 raw_input=user_input=raw_input(输入数字由一个逗号分开:).strip () 无序=[int(项)项user_input.split (" ")) 打印(* bubble_sort(无序),9=" ")
感兴趣的童鞋,请收藏:
https://github.com/TheAlgorithms/Python
好了,就给大家介绍到这里吧,希望大家喜欢!