算法
Charles_TheGod
知识改变命运,亘古不变的哲理。
展开
-
数据结构之Python实现归并排序merge
"""归并排序:"""def merge_sort(alist): """归并排序""" n = len(alist) if n <= 1: return alist mid = n // 2 left_li = merge_sort(alist[:mid]) right_li = merge_sort原创 2018-11-20 00:41:39 · 247 阅读 · 0 评论 -
数据结构之Python实现冒泡排序bubblesort
"""冒泡排序思想:就是先取出来第一个数,依次往后走相比较如果比他大的就交换走到n-1为止再重新走一遍。。。。直到最后"""def bubble_sort(alist): """冒泡排序""" n = len(alist) # 控制外层循环了几次 for j in range(n-1): for i in range(0,原创 2018-11-20 00:43:39 · 357 阅读 · 0 评论 -
数据结构之Python实现二分法查找dichotomy
"""定义一个数组780从里面查89"""def dichotomy(list, item): low = 0 high = len(list) - 1 while low <= high: mid = (low + high) # 取中间值 guess = list[mid] # 中间值查找数据 if ...原创 2018-11-20 00:45:39 · 326 阅读 · 0 评论 -
数据结构之Python实现快速排序quick_sort
"""快速排序:"""def quick_sort(alist, first, last): """快速排序""" if first >= last: return mid_value = alist[first] low = first high = last while low <原创 2018-11-20 00:47:23 · 220 阅读 · 0 评论 -
数据结构之Python实现选择排序election sort
"""选择排序""""""思想是:对一个列表进行查找,记录下最小值和下标,之后根据下标查找出最小的那个元素,删掉的同时加入到另一个列表中 这样就形成了按照从小到大排序的效果。"""# 查找列表中最小的元素,然后进行排序def ChooseSmall(arr): smalllist = arr[0] # 把列表中第一个元素取出来 smalllist_原创 2018-11-20 00:51:09 · 207 阅读 · 0 评论 -
数据结构之python实现插入算法insert sort
"""插入排序思想: 第一个数字保持不变后面取数值,依次插入"""def insert_sort(alist): """插入排序""" n = len(alist) # 从右边的无序序列中取出多少个元素执行这样的过程 for j in range(n): # j = [1,2,3,n-1] # i 代表内层循环起始值原创 2018-11-20 00:53:19 · 475 阅读 · 0 评论 -
数据结构之python实现希尔排序shell sort
"""希尔算法:指定步长,比较交换,步长缩小"""def shell_sort(alist): """希尔排序""" n = len(alist) """n = 9 gap = 4""" gap = n // 2 while gap > 0: for原创 2018-11-20 00:55:04 · 206 阅读 · 0 评论