归并排序--Python实现

作者: 羊yang678 | 来源:发表于2019-02-20 19:00 被阅读0次

核心思想:将数组不断的分成两组,当组内只有一个元素时,这个组便是有序数组,然后再合并有序数组。

def merge(array,start,mid,end):
    temp = []
    i,j = start , mid+1
   
    while (i<= mid and j<=end):
        if array[i] >= array[j]:
            temp.append(array[j])
            j+=1
        else:
            temp.append(array[i])
           
            i+=1  
    while(i<= mid):
        temp.append( array[i])
        
        i+=1
    while(j<=end):
        temp.append( array[j])
        j+=1
    print start
    print array
    print temp
    for i in range(0,len(temp)):
        array[start+i] = temp[i]
def merge_sort(array,start,end):
    if(start<end):
        mid = (start + end)/2
        merge_sort(array,start,mid)
        merge_sort(array,mid+1,end)
        merge(array,start,mid,end)

if __name__ == "__main__":
    array = [2,1,3,3,6,5,4]
    merge_sort(array,0,len(array)-1)
    print array
            
        
    
    




相关文章

  • 排序算法详细代码实现

    算法分类 算法时间复杂度 选择排序 插入排序 C++实现 Python实现 冒泡排序 Python实现 归并排序 ...

  • python实现归并排序(MergeSort)

    python实现【归并排序】(MergeSort) 算法原理及介绍 归并排序的核心原理是采用分治法(Divide ...

  • 第三章:高级排序算法

    归并排序算法(mergeSort) 算法思想:Python使用函数实现: 自底向上的归并排序算法 算法思想:Pyt...

  • 排序

    排序 快速排序 归并排序 计数排序 Python实现 理解 详解 稳定:如果a原本在b前面,而a=b,排序之后a仍...

  • 七大排序算法的 Python

    本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插...

  • 八大排序算法的 Python 实现(转)

    本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插...

  • Python实现程序员必备之排序算法汇总

    本文用Python实现了快速排序、插入排序、希尔排序、归并排序、堆排序、选择排序、冒泡排序共7种排序算法。 一、快...

  • Python 实现七大排序算法

    本文用 Python 实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序。 先整体看一下...

  • 算法—排序篇2

    1、归并排序(Merging Sort) 归并排序(Merging Sort): 就是利用归并的思想实现排序⽅法....

  • 归并排序&快速排序

    归并排序 利用归并的思想实现排序方法,该算法采用经典的分治策略,分而治之。 代码实现 基础设置 归并排序 —— 非...

网友评论

    本文标题:归并排序--Python实现

    本文链接:https://www.haomeiwen.com/subject/sickyqtx.html