欢迎来到Felix的博客

雨恨云愁,江南依旧称佳丽。水村渔市。一缕孤烟细。天际征鸿,遥认行如缀。平生事。此时凝睇。谁会凭阑意
返回顶部

python编程练习---归并排序

归并排序,时间复杂度O(nlogn)

def  list_split(list):
    if len(list) < 2:
        return list
    else:
        mid = int(len(list)/2)
        leftlist = list_split(list[:mid])
        rightlist = list_split(list[mid:])
        return list_sort(leftlist, rightlist)

def list_sort(left, right):
    i = j = 0
    list= []
    while i < len(left) and j < len(right):
        if left[i] <= right[j]:
            list.append(left[i])
            i += 1
        else:
            list.append(right[j])
            j += 1
    list += left[i:]
    list += right[j:]
    return list
posted @ 2021-01-07 11:39  felixtester  阅读(81)  评论(0)    收藏  举报