美文网首页
基础排序算法-python实现

基础排序算法-python实现

作者: 阿凯被注册了 | 来源:发表于2021-08-05 14:46 被阅读0次

    归并排序

    # 归并排序
    import sys
    def merge_sort(arr):
        n = len(arr)
        if n <= 1:
            return arr
        mid = n//2
        
        L = merge_sort(arr[:mid])
        R = merge_sort(arr[mid:])
            
        n_l = len(L)
        n_r = len(R)
        L.append(sys.maxsize)
        R.append(sys.maxsize)
        
        i, j = 0, 0
        new_arr = []
        while i < n_l or j < n_r:
            if L[i] <= R[j]:
                new_arr.append(L[i])
                i += 1
            else:
                new_arr.append(R[j])
                j += 1
        return new_arr
    

    快速排序

    # 快速排序
    def quick_sort(arr):
        n = len(arr)
        if n <= 1:
            return arr
        
        mask = arr.pop()
        L, R = [], []
        for i in range(len(arr)):
            if arr[i] < mask:
                L.append(arr[i])
            else:
                R.append(arr[i])
        return quick_sort(L)+[mask]+quick_sort(R)
    

    相关文章

      网友评论

          本文标题:基础排序算法-python实现

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