使用python实现归并排序
来源:互联网 发布:php截取一段字符串 编辑:程序博客网 时间:2024/06/10 03:07
def merge(left, right): """归并两个数组 :param left: 第一个数组 :param right: 第二个数组 :return: 归并后的有序的的数组 """ print("left", left) print("right", right) i, j = 0, 0 n1, n2 = len(left), len(right) r = [] while i < n1 and j < n2: while i < n1: if j == n2: break if left[i] <= right[j]: r.append(left[i]) else: break i += 1 while j < n2: if i == n1: break if right[j] <= left[i]: r.append(right[j]) else: break j += 1 r.extend(left[i:]) r.extend(right[j:]) return rdef merge_sort(a): """ 使用递归来完成归并 :param a: 要排序的数组 :return: 返回值为排好序的数组 """ if len(a) == 1: return a mid = len(a) >> 1 left = merge_sort(a[:mid]) # 给左边排序 right = merge_sort(a[mid:]) # 给右边排序 return merge(left, right)if __name__ == "__main__": a = [10, 2, 3, 6, 8, 1, 10, 100, 200, 6] # , 3, 10, 4, 3, 10, 10, 4, 3, 10] print(a) b = merge_sort(a) print(b)
阅读全文
0 0
- 使用python实现归并排序
- python实现归并排序
- Python 实现归并排序
- python实现归并排序
- Python实现归并排序
- python实现归并排序
- Python实现归并排序
- python实现归并排序
- 归并排序的Python实现
- 归并排序及Python实现
- 用python实现归并排序
- 利用Python实现归并排序
- 归并排序实现(python)
- 用python实现归并排序
- 归并排序详解(python实现)
- 归并排序的Python实现
- python实现快速排序和归并排序
- python实现排序算法二:归并排序
- PTA 数据结构 6-2 顺序表基本操作
- UVa 10128
- android selector详解
- 【c基础】对函数指针的详细理解
- 写给自己的JAVA工程师之路-计划
- 使用python实现归并排序
- 设计模式---命令模式
- spring boot 简介
- ubuntu自带截图工具--方便好用
- Maven项目下java.lang.ClassNotFoundException的解决方法
- 形参和实参
- zookeeper介绍
- 关于使用PyTorch设置多线程(threads)进行数据读取而导致GPU显存始终不释放的问题
- 原生 js 计算时间差