以下是一个 Python 实现的快速排序算法:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        left = []
        right = []
        for i in range(1, len(arr)):
            if arr[i] < pivot:
                left.append(arr[i])
            else:
                right.append(arr[i])
        return quick_sort(left) + [pivot] + quick_sort(right)

该算法基于分治思想,以列表中的第一个元素作为'枢纽',将列表分成两个子列表,一个包含所有比枢纽小的元素,一个包含所有比枢纽大的元素,然后递归地对子列表进行排序,最后将它们拼接起来。这个算法的时间复杂度为$O(nlogn)$。

Python 快速排序算法实现及解析

原文地址: https://www.cveoy.top/t/topic/nIvn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录