【Python排序搜索基本算法】之归并排序

来源:互联网 发布:知乎怎么赚钱的 编辑:程序博客网 时间:2024/06/01 16:49

        归并排序最令人兴奋的特点是:不论输入是什么样的,它对N个元素的序列排序所用时间与NlogN成正比。代码如下:

def mergesort(seq):if len(seq)<=1:return seqmid=int(len(seq)/2)left=mergesort(seq[:mid])right=mergesort(seq[mid:])return merge(left,right)def merge(left,right):result=[]i,j=0,0while i<len(left) and j<len(right):if left[i]<=right[j]:result.append(left[i])i+=1else:result.append(right[j])j+=1result+=left[i:]result+=right[j:]return resultif __name__=='__main__':seq=[4,5,7,9,7,5,1,0,7,-2,3,-99,6]print(mergesort(seq))

转载请注明: 转自 http://blog.csdn.net/littlethunder/article/details/9472301

原创粉丝点击