使用Python实现快速排序算法
发布时间:2023-12-04 10:30:07
快速排序算法是一种常用的排序算法,它的平均时间复杂度为O(nlogn),具有原地排序的特性。在快速排序算法中,通过选择一个基准元素,将待排序的序列分为两部分,一部分小于基准元素,一部分大于基准元素,再分别对这两部分进行递归排序,最终得到一个有序序列。
下面是使用Python实现快速排序算法的示例代码:
def quick_sort(arr):
# 递归结束条件:序列长度为0或1时,无需排序
if len(arr) < 2:
return arr
else:
# 选择基准元素
pivot = arr[0]
# 小于基准元素的子数组
less = [i for i in arr[1:] if i <= pivot]
# 大于基准元素的子数组
greater = [i for i in arr[1:] if i > pivot]
# 递归调用对子数组进行排序
return quick_sort(less) + [pivot] + quick_sort(greater)
使用例子:
arr = [4, 2, 1, 5, 3] sorted_arr = quick_sort(arr) print(sorted_arr)
输出结果为:[1, 2, 3, 4, 5]
在这个例子中,我们传入了一个无序序列[4, 2, 1, 5, 3],经过快速排序算法的处理,得到了一个有序序列[1, 2, 3, 4, 5]。
