知行编程网知行编程网  2022-12-14 05:30 知行编程网 隐藏边栏  4 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python归并排序如何理解的相关知识,包括冒泡排序python,以及数组归并排序这些编程知识,希望对大家有参考作用。

如何理解python归并排序


说明

1、归并排序是一种高效稳定的归并排序算法,是分治法的典型应用。

2、基本思路大致是这样的:首先将给定的数组递归分成两半,然后进行两次大小比较,根据大小比较进行排序,最后逐级归并,完成整体排序。

合并排序更有效。它设置 n 列的长度,并将系列分成十进制列。它需要登录步骤。每一步都是合并有序序列的过程。时间复杂度为 O(nlogn),即 O(n) 。


实例

import random
 
def ConfiationAlgorithm(str):
    if len(str) <= 1: #子序列
        return str
    mid = (len(str) / 2)
    left = ConfiationAlgorithm(str[:mid])#递归的切片操作
    right = ConfiationAlgorithm(str[mid:len(str)])
    result = []
    #i,j = 0,0
 
    while len(left) > 0 and len(right) > 0:
        if (left[0] <= right[0]):
            #result.append(left[0])
            result.append(left.pop(0))
            #i+= 1
        else:
            #result.append(right[0])
            result.append(right.pop(0))
            #j+= 1
 
    if (len(left) > 0):
        result.extend(ConfiationAlgorithm(left))
    else:
        result.extend(ConfiationAlgorithm(right))
    return result   
if __name__ == '__main__':
    a = [20,30,64,16,8,0,99,24,75,100,69]
    print ConfiationAlgorithm(a)
    b = [random.randint(1,1000) for i in range(10)]
    print ConfiationAlgorithm(b)


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享