数据结构:归并排序python

2021-01-19 00:17

阅读:769

标签:技术   print   src   慢慢   ret   开始   code   排序   数组   

思路,将一个数组不断拆分,拆到一个元素之后,倒过来一步步排好序,获得新的数组

  [55,23,66,905,56,85,356,30,57,34,832,230]

  left=[55,23,66,905,56,85]  right=[356,30,57,34,832,230]

  left可以看成一个新数组,继续拆分

left_1=[55,23,66]   right_1=[905,56,85]    left_2=[356,30,57]  right_2=[34,832,230]

55       23,66            905        56,85                356            30,57                        34           832,230

55           23     66            905            56    85                 356                30    57                    34            832   230

下面就可以慢慢开始向上排序

55                23,66                     905                56,85                     356             30,57                        34                 230,832

详细比较过程:引入了两个指针,分别指向当前小序列左右两边的第一个元素,所以一开始55跟23比,23小,将23提出来,并将left_pointer指向66,55再跟66比,提55出,最后把66提出来

 

def merge_sort(alist):
    n=len(alist)
    if n

  结果:技术图片

 

数据结构:归并排序python

标签:技术   print   src   慢慢   ret   开始   code   排序   数组   

原文地址:https://www.cnblogs.com/cong3Z/p/12912007.html


评论


亲,登录后才可以留言!