- 快排是分治法
- 复杂度
O(nlogn)
- 关键点为划分数组
def quickSort(arr):
''' 快排 '''
# 递归出口
if len(arr) <= 1:
return arr
# 随机化
point = random.randint(0, len(arr) - 1)
# 分组数组
lowArr, highArr = [], []
# 分组
for value in arr:
(lowArr.append(value)
if value < arr[point]
else highArr.append(value))
# 分组相加
return quickSort(lowArr) + quickSort(highArr)
网友评论