python合并排序,Python递归排序

  python合并排序,Python递归排序

  说明

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

  2.基本思路大致如下:首先用递归将给定数组分成两部分,然后根据大小比较进行两次大小比较和排序,最后通过逐步归并完成整体排序。

  合并排序更有效。它设置n列的长度,把数列分成小数列,需要logn步。每一步都是一个合并有序序列的过程,时间复杂度为O(nlogn),即O(n)。

  实例

  随机输入

  定义算法(字符串):

  Len (str)=1: #子序列

  returnstr

  mid=(len(str)/2)

  left=conflict ional gorithm(str[3360 mid])#递归切片操作

  right=confinitionalgorithm(str[mid : len(str)])

  结果=[]

  #i,j=0,0

  whilelen(左)0和len(右)0:

  if(left[0]=right[0]):

  #result.append(left[0])

  result.append(left.pop(0))

  #i=1

  else:

  #result.append(右[0])

  result.append(右弹出(0))

  #j=1

  if(len(left)0):

  result . extend(configuration algorithm(left))

  else:

  result . extend(confionalgorithm(right))

  返回结果

  if__name__==__main__:

  a=[20,30,64,16,8,0,99,24,75,100,69]

  打印配置算法m(a)

  b=[对于iinrange(10),random.randint(1,1000)]

  printitional Gorithm(b)以上是对python合并和排序的理解。希望对你有帮助。更多python学习方向:Python基础课程

  本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: