Merge_sort

"""
Created on Thu Oct 09 17:32:31 2014

@author: Zharma

Describe: input:A 要排序的序列
                p 要排序的起始元素下标
                r 要排序的最后一个元素的下标
          排序内容可以为A的全部序列或者部分序列

"""

def merge(A, p, q, r):
    L = A[p: q + 1]
    R = A[q + 1: r + 1]
    print R
    L.append('None')
    R.append('None')
    i = 0
    j = 0
    for e in range(p, r + 1):
        if L[i] <= R[j]:
            A[e] = L[i]
            i += 1
    else:
        A[e] = R[j]
        j += 1


def merge_sort(A, p, r):
    if p < r:
        q = (p + r)/2
        merge_sort(A, p, q)
        merge_sort(A, q + 1, r)
        merge(A, p, q, r)

偶尔有时间,来一发算法,自娱自乐

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 声明:算法和数据结构的文章均是作者从github上翻译过来,为方便大家阅读。如果英语阅读能力强的朋友,可以直接到s...
    UnsanYL阅读 5,526评论 0 2
  • 归并排序在对数组排序的过程中,现递归的分为两半排序,再将结果归并起来。实现归并的一种直截了当的方式是将两个不同的有...
    sleepyjoker阅读 3,134评论 0 0
  • 说起归并排序(Merge Sort),其在排序界的地位可不低,毕竟O(nlogn)比较排序的三大排序方法,就是Qu...
    akak18183阅读 4,143评论 0 1
  • 合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。合并排序法是将两个(或两个...
    noonbiteun阅读 4,514评论 0 1
  • 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非...
    NEXTFIND阅读 4,580评论 0 0

友情链接更多精彩内容