python合并排序,Python递归排序_1

  python合并排序,Python递归排序

  基本思路

  归纳法是分治法的典型应用。

  1.首先返回分解组,然后合并这些组。基本思想是将数组分解到最小值,然后合并两个有序数组。

  2.基本思路是比较两个数组前面的数字,谁最小谁先取,然后取对应的指针后移。

  然后比较直到一组空了,最后复制另一组剩下的。

  实例

  #合并排序

  def merge _ sort(list):

  合并排序

  n=len(列表)

  ifn=1:

  退货清单

  else:

  mid=n//2

  #left表示通过合并和排序形成的有序的新列表。

  left _ Li=merge _ sort(list[: mid])

  #right表示通过合并和排序形成的有序的新列表。

  right _ Li=merge _ sort(list[mid :])

  #将两个有序子序列合并成一个新的整体

  #合并(左、右)

  左指针,右指针=0,0

  结果=[]

  whileleft_pointerlen(左_li)和right_pointerlen(右_li):

  ifleft _ Li[left _ pointer]=right _ Li[right _ pointer]:

  result . append(left _ Li[左指针])

  left_pointer=1

  else:

  result . append(right _ Li[右指针])

  右指针=1

  result=left _ Li[left _ pointer :]

  result=right _ Li[right _ pointer :]

  返回结果

  if__name__==__main__:

  list=[54,26,93,17,77,31,44,55,20]

  打印(列表)

  sorted _ list=merge _ sort(list)

  print(sorted _ list)以上是python合并排序的基本思路。希望对你有帮助。更多python学习方向:Python基础课程

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

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

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