导航

第四章 快速排序 分而治之(divide an conquer)

Posted on 2021-03-31 15:41  玻璃星  阅读(39)  评论(0编辑  收藏  举报
def quicksort(array):
    if len(array) < 2:
        return array
    else:
        flag = array[0]
        less = []
        greater = []
    for i in range(1,len(array)):
        if array[i] &lt;= flag:
            less.append(array[i])
        else:
            greater.append(array[i])
        
    return quicksort(less) + [flag] + quicksort(greater)

print(quicksort([10, 5, 2, 3]))

## 分而治之 (devide and conquer) 1. 找出基线条件,这种条件必须尽可能简单. 2. 不断将问题缩小规模,知道符合基线条件.