如何用 Python 实现快速排序算法
快速排序算法是一种分治思想的算法,它将一个数组分为两部分,其中一部分的所有值都小于另一部分。它的原理是:
-
选择一个基准值(pivot):通常会选择数组的第一个值作为基准值;
-
将数组中的其他元素与基准值进行比较,将小于基准值的元素放到基准值的左边,大于基准值的元素放到基准值的右边;
-
将基准值左边的子数组和右边的子数组分别用相同的方法进行排序,直至子数组的长度为 1,此时数组排序完成。
下面是一段 Python 实现快速排序算法的示例代码:
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = [x for x in arr[1:] if x < pivot]
right = [x for x in arr[1:] if x >= pivot]
return quick_sort(left) + [pivot] + quick_sort(right)
arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]
print(quick_sort(arr)) # Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]