欢迎访问宙启技术站
智能推送

使用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]。