导语:
本文主要介绍了关于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电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 为什么说python是胶水语言11/24
- ♥ python如何将数据插入数据库09/28
- ♥ 三分钟看懂Python基本数据类型11/27
- ♥ python协程和线程的区别10/10
- ♥ 如何在python中安装redis10/25
- ♥ 如何在python中绘制子图函数?08/24
内容反馈