python实现归并排序
来源:互联网 发布:网络赚钱的门路2017 编辑:程序博客网 时间:2024/05/17 08:11
归并排序是一种递归算法,不断将列表拆分为一半。 如果列表为空或有一个项,则按定义(基本情况)进行排序。如果列表有多个项,我们分割列表,并递归调用两个半部分的合并排序。 一旦对这两半排序完成,就执行称为合并的基本操作。合并是获取两个较小的排序列表并将它们组合成单个排序的新列表的过程。
def mergeSort(alist): if len(alist)>1: mid = len(alist)//2 lefthalf = alist[:mid] righthalf = alist[mid:] mergeSort(lefthalf) mergeSort(righthalf) i=0 j=0 k=0 while i < len(lefthalf) and j < len(righthalf): if lefthalf[i] < righthalf[j]: alist[k]=lefthalf[i] i=i+1 else: alist[k]=righthalf[j] j=j+1 k=k+1 while i < len(lefthalf): alist[k]=lefthalf[i] i=i+1 k=k+1 while j < len(righthalf): alist[k]=righthalf[j] j=j+1 k=k+1alist = [54,26,93,17,77,31,44,55,20]mergeSort(alist)print(alist)
时间复杂度
最优时间复杂度:O(nlogn)最坏时间复杂度:O(nlogn)稳定性:稳定
阅读全文
0 0
- python实现归并排序
- Python 实现归并排序
- python实现归并排序
- Python实现归并排序
- python实现归并排序
- Python实现归并排序
- python实现归并排序
- 归并排序的Python实现
- 归并排序及Python实现
- 用python实现归并排序
- 利用Python实现归并排序
- 归并排序实现(python)
- 用python实现归并排序
- 归并排序详解(python实现)
- 使用python实现归并排序
- 归并排序的Python实现
- python实现快速排序和归并排序
- python实现排序算法二:归并排序
- node.js中的url.parse方法使用说明
- 算法基础---枚举案例
- 机器学习算法-k-means聚类算法
- 正则表达式
- [Python基础]运算符与表达式
- python实现归并排序
- MySql 5.7.20 generic binary installation linux/ubuntu 16.04
- 机器学习应用——sklearn自带数据集训练(线性判别分析)
- OSGI入门
- 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest M. Quadcopter Competition
- 关于LDOPE处理MODIS Collection 6(版本6)问题的解决方法
- Android 中 getString() 方法的小知识点
- day75_maven01:Maven基本环境搭建:【先能建个正确的项目】步骤详解
- s_gets函数的使用