python递归排序算法,归并排序算法流程图

  python递归排序算法,归并排序算法流程图

  Python的算法一直让我们又爱又恨,但如果能灵活运用,就能大大提高我们代码编写过程的效率。我们来看看其中一种算法的灵活掌握,归并排序~

  归并算法——小试牛刀

  实例内容:

  有一个无序列表如下:

  list=[23,35,12,34,54,78,76,99]

  要求:从小到大排序。

  图示思路

  Python 代码

  

  归并排序理解:

  

  1.根据递归二分法将数组分成两组(直到独立元素)。

  2.按照自下而上的方法比较左右数组,同时比较两个数组的第一个位置,把小的放入空数组,然后把放入空数组的位置的指针后移一个,再继续和另一个数组的前一个位置比较,以此类推。当最后一个数组首先从堆栈中出来时,另一个数组中的所有元素都被追加到新数组中。

  示例:

  defmerge(a,b):

  c=[]

  h=j=0

  白色透镜(a)和透镜(b):

  国际财务报表法b[h]:

  c .附加(a[j])

  j=1

  else:

  附加(b[h])

  h=1

  ifj==len(a):

  第:号

  c .附录(一)

  else:

  第:号

  c .附录(一)

  returnc

  defmerge_sort(列表):

  iflen(列表)=1:

  返回列表

  middle=len(列表)/2

  left=merge _ sort(lists[: middle])

  right=merge _ sort(lists[middle :])

  returnmerge(左,右)

  if__name__==__main__:

  a=[4,7,8,3,5,9]

  Print _ sort(一)通过两组例子,相信你对归并排序有所了解~更多python实用知识,点击进入PyThon学习网教学中心。

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

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