导航

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

Posted on 2021-03-31 15:41  玻璃星  阅读(55)  评论(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] <= 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. 不断将问题缩小规模,知道符合基线条件.